php文件上传代码详细

文件上传能否成功要看你的写文件目录是否可用,表单与post获取的名是不是相同,以及php.ini中上传文件大小是不是在你可写范围之内,下面是一个完整的php文件上传实例.

html代码如下:

  1. <html>
  2. <body>
  3. <form action="upload_file.php" method="post" enctype="multipart/form-data">
  4. <label for="file">filename:</label>
  5. <input type="file" name="file" />
  6. <br />
  7. <input type="submit" name="submit" value="submit" />
  8. </form>
  9. </body>
  10. </html>

php代码如下:

  1. <?php
  2. $store_dir='d:upload'; //文件上传后存储在服务器的路径
  3. $uploadfile="$store_dir".basename($_files['sendfile']['name']); //上传文件的原始名字
  4. $uploadfile_tmp=$_files['sendfile']['name_tmp']; //上传文件的临时名字
  5. $err_msg=$_files['sendfile']['error']; //上传文件时产生的错误信息
  6. if ($err_msg){
  7. print "错误代码: $err_msg<br/>";
  8. }
  9. if (!is_writeable($store_dir)){ //检查上传的文件是否可写
  10. print "$store_dir 目录不可写n";
  11. exit;
  12. }
  13. else{
  14. print "$store_dir 目录可写n";
  15. }
  16. if(isset($_files['sendfile'])) {
  17. if(is_uploaded_file($uploadfile_tmp)){ //检查上传的文件是否存在,如果存在则对其进行下一步操作
  18. print "文件检验成功n";
  19. }
  20. else {
  21. print "文件检验失败,可能遭受文件上传攻击!";
  22. exit;
  23. }
  24. if (move_uploaded_file($uploadfile_tmp,$uploadfile)) { //对上传的合法文件,将其重命名并移动到服务器的上传文件夹中
  25. print "文件上传成功n";
  26. }
  27. else{
  28. print "移动文件失败,可能遭受文件上传攻击!";
  29. exit;
  30. }
  31. print "文件上载成功!<br/>";
  32. }
  33. else{
  34. print "文件上载失败!<br/>";
  35. }
  36. ?>