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

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

Jul 25, 2016 am 08:56 AM


复制代码

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. */
复制代码


Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Benachrichtigungen in Laravel Benachrichtigungen in Laravel Mar 04, 2025 am 09:22 AM

Benachrichtigungen in Laravel

See all articles