简易PHP登录上传程序

原因是我单独整了个子域名来托管文件提供下载之类的, 然后传文件要上FTP特别麻烦, 于是自己写了个简单的小程序.

实现的功能:

  1. 输入正确的用户名和密码后进入上传页面
  2. 无刷新上传
  3. 上传的文件保存到文件夹

包括三个文件:

  1. index.html
  2. check_usr.php
  3. upload_file.php

index.html

<html>
<body>
    
<form action="/upload/check_usr.php" method="post">    
Usr: <input type="text" name="usr" size="40" maxlength="80" value="" />
Passwd: <input type="text" name="passwd" size="40" maxlength="80" value="" />
<input type="submit" name="submit" value="SUBMIT"/>
</form>    
 
</body>
</html>

check_usr.php

<?php  
session_start();  	
    $usr = $_POST['usr'];   
    $passwd = $_POST['passwd'];  
    $_SESSION['usr'] = "yourUsrName";//your name here
    $_SESSION['passwd'] = "yourPasswd";//your password here
    if ($passwd != $_SESSION['passwd'] && $usr != $_SESSION['usr']){echo "ERROR";}
    elseif ($passwd == $_SESSION['passwd'] && $usr == $_SESSION['usr']){
?> 
<!--if usrname & passwd are correct-->
<form action="upload_file.php" method="post" target="post_frame" enctype="multipart/form-data" id="editor-form" name="form1">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="hidden" name="filepath" />
<input type="submit" name="submit" value="Submit" />
</form> <div id="ooo"> </div>
<!--jq ajax upload, require jquery.form.js-->   
<script type="text/javascript" src="/jquery.min.js"></script>   <script src="/jquery.form.js"></script> 
<script type="text/javascript">
$(document).ready(function() {
  $('#editor-form').submit(function() {
    var options = {target: '#ooo',url: 'upload_file.php',type: 'post',success: function() {$('#filepath').val($('#ooo').text());}};
    $(this).ajaxSubmit(options);
    return false;
  });
});
</script>
<?php }?>

upload_file.php

<?php 
$dir = 'files/';
if (! file_exists ( $dir )) {
mkdir ( $dir );//create a folder if not exists
}
if ((
($_FILES["file"]["type"] == "application/octet-stream")//.rar/.exe/.7z etc.
|| ($_FILES["file"]["type"] == "application/x-zip-compressed")//.zip
|| ($_FILES["file"]["type"] == "application/javascript"))//.js
&& ($_FILES["file"]["size"] < 200000)
) {
  if ($_FILES["file"]["error"] > 0) {echo "Return Code: " . $_FILES["file"]["error"] ;
  } else {
    if (file_exists("files/" . $_FILES["file"]["name"])) {
     echo $_FILES["file"]["name"] . " already exists. ";
    } else {
      move_uploaded_file(     $_FILES["file"]["tmp_name"],      "files/"  . $_FILES["file"]["name"] );// save file	
      }
    }
  } else {echo "Invalid file";}  
?>

LIKE OR SHARE IT:

admin发表于Code目录下,标签为,转载请保留链接

TOP DOWN
发表评论

您必须 [ 登录 ] 才能发表留言!

  1. 沙 发 枫叶红秋雨

    沙发、AJAX上传。

    六月 4, 2013 23:01:48
  2. 板 凳 Ansonyi

    webftp?之前在net2ftp.com。一会儿试试这个

    六月 4, 2013 23:03:09
  3. 地 板 fuhu

    curl -T filename ftp://username:password@ip:port/fullpath/

    六月 4, 2013 23:25:46
  4. 地 毯 619影视

    这个我是用不上了

    六月 4, 2013 23:32:44
  5. 地 面 xyixyixyi

    虽然用不着呢,网站终于建好了,有的偷了你的一些代码奥···

    六月 4, 2013 23:37:43
  6. 地 下 ChoJemmy

    你都上传了一些啥?没见过阿

    六月 5, 2013 00:44:09
  7. 7 楼 麦田一根葱

    虽然这个技术早已看到过,不过还是顶一下

    六月 5, 2013 08:41:07
  8. 8 楼 神父

    不能整个文件夹上传,略遗憾。如果this pretty girl能略改进一下,那灰常感谢了

    六月 5, 2013 16:27:44
  9. 9 楼 郑永

    现在在用ajaxplorer,很不错,呵呵。

    六月 5, 2013 20:51:20
  10. 10 楼 云淡然

    判断用户是否合法应该是写在upload_file.php里,而不是check_usr.php页面里。
    个人愚见

    六月 6, 2013 17:36:38
    • 小蝴蝶

      @云淡然 写在check_usr.php的话如果用户不合法就不会调用upload_file.php,也不能直接访问u.php,对安全和保护数据库应该比较好,
      个人愚见

      1001室 六月 6, 2013 18:09:23
  11. 11 楼 海棠果

    来学习了 不错 支持 你的回复框是最麻烦的

    六月 6, 2013 17:43:06
  12. 12 楼 梦月酱

    看起来十分厉害的样子

    六月 6, 2013 20:34:15
  13. 13 楼 rainzee

    你那个lib就是这么写的么?我也想搞一个lib 不知道麻烦不???

    六月 6, 2013 21:02:19
    • 小蝴蝶

      @rainzee 不算麻烦,就拿这个上传,然后写几个静态页面行了,如果要功能多点就麻烦

      1301室 六月 6, 2013 21:11:58
  14. 14 楼 啄木游弋

    我觉得这玩意挺好的。有一个不限容量的超大附件机,一直在想怎么利用起来,可惜啊可惜啊,附件机不支持php,你这个perfect代码我还是用不上

    六月 7, 2013 12:56:44
  15. 15 楼 babytomas

    主题整体很好看,有点像国外的某些轻博客程序自带的 。。做的好官方 。。

    然后就是这个评论框为啥要弄成这样,看起来有点特殊 。。

    六月 7, 2013 14:22:17
  16. 16 楼 Android

    好简单…

    六月 10, 2013 14:09:17