Heim  >  Artikel  >  Backend-Entwicklung  >  php 文件上传(普通上传与异步上传)的例子

php 文件上传(普通上传与异步上传)的例子

WBOY
WBOYOriginal
2016-07-25 08:56:451347Durchsuche

复制代码

2,upload_file.php

  1. //php普通文件上传
  2. //by bbs.it-home.org
  3. if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/pjpeg"))&& ($_FILES["file"]["size"] if ($_FILES["file"]["error"] > 0) {
  4. echo "Return Code: " . $_FILES["file"]["error"] . "
    ";
  5. }else {
  6. echo "Upload: " . $_FILES["file"]["name"] . "
    ";
  7. echo "Type: " . $_FILES["file"]["type"] . "
    ";
  8. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
    ";
  9. echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
    ";
  10. if (file_exists("upload/" . $_FILES["file"]["name"])){
  11. echo $_FILES["file"]["name"] . " already exists. ";
  12. }else{
  13. move_uploaded_file($_FILES["file"]["tmp_name"],
  14. "upload/" . $_FILES["file"]["name"]);
  15. echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  16. }
  17. }
  18. }else {
  19. echo "Invalid file";
  20. }
  21. ?>
复制代码

二、异步文件上传 使用iframe异步上传文件。 1,前端html

  1. 导入文件:
复制代码

2,Js代码

  1. function startUpload() {
  2. var spanObj = document.getElementById("info");
  3. spanObj.innerHTML = " 开始上传";
  4. document.getElementById("upForm").sumbit();
  5. }
  6. //回调
  7. function stopUpload(responseText){
  8. var spanObj = document.getElementById("info");
  9. spanObj.innerHTML = "上传成功";
  10. spanObj.innerHTML = responseText;
  11. }
复制代码

2)、服务器端代码

  1. $file = $_FILES['myfile'];

  2. $fileName = uploadFile($file);
  3. //$result = readFromFile("../upload/" . $fileName);
  4. echo "";
  5. function uploadFile($file) {
  6. // 上传路径
  7. $destinationPath = "../upload/";
  8. if (!file_exists($destinationPath)){
  9. mkdir($destinationPath , 0777);
  10. }
  11. //重命名
  12. $fileName = date('YmdHis') . '_' . iconv('utf-8' , 'gb2312' , basename($file['name']));
  13. if (move_uploaded_file($file['tmp_name'], $destinationPath . $fileName)) {
  14. return iconv('gb2312' , 'utf-8' , $fileName);
  15. }
  16. return '';
  17. }
  18. //代码注释

  19. /*
  20. 1,关于basename方法
  21. $path = "/testweb/home.php";
  22. //显示带有文件扩展名的文件名
  23. echo basename($path);
  24. //显示不带有文件扩展名的文件名
  25. echo basename($path,".php");
  26. 2,关于iconv
  27. iconv('gb2312' , 'utf-8' , $fileName);//将$fileName从gb2312转为utf-8格式。
  28. 注:该函数需要开启php.ini里面的php_iconv.dll
  29. 3,关于$_FILES['myfile']
  30. $_FILES相当于一个二维数组,而$_FILES['myfile']相当于一个一维数组。所以可以
  31. $f = $_FILES['myfile'];
  32. echo $f['name'];
  33. 如果直接访问该$_FILES['myfile'],则会报Undefined index: myfile。此时加上
  34. if(!isset($_FILES['myfile'])){
  35. die('上传文件不存在!');
  36. }
  37. */
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn