Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erläuterung des Beispiels zum Hochladen von Bildern mit Fortschrittsbalken mithilfe von PHP+Ajax

Ausführliche Erläuterung des Beispiels zum Hochladen von Bildern mit Fortschrittsbalken mithilfe von PHP+Ajax

墨辰丷
Freigeben: 2023-03-28 22:56:01
Original
1629 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Funktion zum Hochladen von Bildern mit Fortschrittsbalken mithilfe von PHP + Ajax vorgestellt und die damit verbundenen Betriebstechniken für die PHP-Dateiübertragung und die Ajax-Übermittlung ohne Aktualisierung behandelt. Außerdem wird ein Demo-Quellcode zum Herunterladen und Nachschlagen für Leser bereitgestellt . Freunde, die es brauchen, können sich darauf beziehen

Das Laufeffektdiagramm lautet wie folgt:

Der Code lautet wie folgt:

<?php
if(isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK)
{
  ############ Edit settings ##############
  $UploadDirectory  = &#39;F:/Websites/file_upload/uploads/&#39;; //specify upload directory ends with / (slash)
  ##########################################
  /*
  Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini".
  Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit
  and set them adequately, also check "post_max_size".
  */
  //check if this is an ajax request
  if (!isset($_SERVER[&#39;HTTP_X_REQUESTED_WITH&#39;])){
    die();
  }
  //Is file size is less than allowed size.
  if ($_FILES["FileInput"]["size"] > 5242880) {
    die("File size is too big!");
  }
  //allowed file type Server side check
  switch(strtolower($_FILES[&#39;FileInput&#39;][&#39;type&#39;]))
    {
      //allowed file types
      case &#39;image/png&#39;:
      case &#39;image/gif&#39;:
      case &#39;image/jpeg&#39;:
      case &#39;image/pjpeg&#39;:
      case &#39;text/plain&#39;:
      case &#39;text/html&#39;: //html file
      case &#39;application/x-zip-compressed&#39;:
      case &#39;application/pdf&#39;:
      case &#39;application/msword&#39;:
      case &#39;application/vnd.ms-excel&#39;:
      case &#39;video/mp4&#39;:
        break;
      default:
        die(&#39;Unsupported File!&#39;); //output error
  }
  $File_Name     = strtolower($_FILES[&#39;FileInput&#39;][&#39;name&#39;]);
  $File_Ext      = substr($File_Name, strrpos($File_Name, &#39;.&#39;)); //get file extention
  $Random_Number   = rand(0, 9999999999); //Random number to be added to name.
  $NewFileName    = $Random_Number.$File_Ext; //new file name
  if(move_uploaded_file($_FILES[&#39;FileInput&#39;][&#39;tmp_name&#39;], $UploadDirectory.$NewFileName ))
    {
    die(&#39;Success! File Uploaded.&#39;);
  }else{
    die(&#39;error uploading File!&#39;);
  }
}
else
{
  die(&#39;Something wrong with upload! Is "upload_max_filesize" set correctly?&#39;);
}
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Benutzerdefinierte Array-Sortierfunktion und Sortierklasse in PHP implementiert

PHP implementiert die Stapelerfassung von Webseiten Alle Methoden für feste Seed-Links

PHP-Methode zur Implementierung einer zweidimensionalen Array-Sortierung nach einer bestimmten Spalte_phpTipps

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispiels zum Hochladen von Bildern mit Fortschrittsbalken mithilfe von PHP+Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage