Heim > Backend-Entwicklung > PHP-Tutorial > Eingehende Analyse von PHP-Upload-Dateien

Eingehende Analyse von PHP-Upload-Dateien

小云云
Freigeben: 2023-03-21 13:18:01
Original
1345 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen hauptsächlich eine ausführliche Analyse von PHP-Upload-Dateien. Ich hoffe, dass dieser Artikel allen helfen kann.

1.phpDateikonfiguration hochladenphp.iniKonfiguration:

(1) file_uploads=on|off : PHP auf dem Server ermitteln Ob das Skript Datei-Uploads akzeptieren kann.

(

2)max_execution_time=integer : PHP Die maximale Zeit in Sekunden, die ein Skript ausführen kann, bevor ein schwerwiegender Fehler registriert wird

.

(

3) memory_limit=integer : Einstellungen Der maximale Speicher, dem das Skript zugewiesen werden kann, in MB. Dies verhindert, dass außer Kontrolle geratene Skripte den Serverspeicher monopolisieren.

(

4

)

upload_max_filesize=integer : Legen Sie die maximale Upload-Dateigröße fest auf MB ist die Einheit. Diese Direktive muss kleiner sein als kleiner als post_max_size

.

(5

)

upload_tmp_dir=string : Einstellungen Hochgeladene Dateien müssen vor der Verarbeitung an einem temporären Ort auf dem Server gespeichert werden, bis die Datei an ihr endgültiges Ziel verschoben wird.

(

6

)

post_max_size=integer : OK zum Bestehen Die maximale Größe der Informationen, die die POST-Methode akzeptieren kann, in MB als Einheit

2.php

Verwandte Methoden hochladen

(1)bool is_uploaded_file(string $filename)

Definition: is_uploaded_file() Die Funktion ermittelt, ob die angegebene Datei über HTTP POST

Parameter $filename : $_FILES['file_img']['tmp_name'] (Beispiel)

Gibt die zu prüfenden Dateien an: C:WindowsTempphp9632.tmp

( 2)bool move_uploaded_file ( string $filename , string $destination )

Definition: move_uploaded_file () Die Funktion verschiebt die hochgeladene Datei an einen neuen Speicherort Wird im Allgemeinen in Verbindung mit is_uploaded+_file()Methode

Parameter

$filename: $_FILES['file_img']['tmp_name'] (Beispiel)

Gibt die zu verschiebende Datei an : C:WindowsTempphp9632.tmp                                                 . $de Station : dirname(__FILE__).DS.'uploads'.DS.$_FILES['file_img']['name']

(Beispiel) Gibt den Speicherort der Datei an, die verschoben werden soll: D:myWAPmyWeblearnphp_uploaduploadshm_g_img.jpg

3.phpUpload-Fall: Es ist festgelegt, dass nur Bilddateien hochgeladen werden können

(

1

)

Notwendige Ordner und Dateien

(2)file_unload_select.php Datei für Datei HTMLAuswahl durchsuchen, hochladen klicken:


enctype = "multipart/form-data" Feste Schreibmethode , sonst schlägt der Datei-Upload fehl

action = "url"

method="post" Allgemeiner Upload ist Beitrag


(3)upload.php Datei wird zum Verarbeiten hochgeladener Dateien verwendet Bestimmen Sie den Typ der hochgeladenen Datei und Verschieben Sie Dateien in die angegebenes Verzeichnis auf dem Server:

//接收上传文件
print_r($_FILES);
define('DS',DIRECTORY_SEPARATOR);


//判断当前上传的文件是否为图片
$img_type_arr = array('image/png','image/jpeg','image/jpeg');

//for循环遍历数组 -- 第一方法判断是否为数组中的子项
for($i=0;$i<count($img_type_arr);$i++)
{
       if($img_type_arr[$i] != $_FILES[&#39;file_img&#39;][&#39;type&#39;] && ($i == count($img_type_arr)-1) )
       {
                echo ""
                exit;
       }
}



//数组方法array_in() -- 第二方法判断是否为数组中的子项
if(!is_uploaded_file($_FILES[&#39;file_img&#39;][&#39;tmp_name&#39;]))
{
      //如果临时文件不存在,则说明没有上传到临时文件夹
      echo  &#39;上传到临时文件夹失败&#39;;
}
else
{

   //echo &#39;上传到临时文件夹成功&#39;;
   $img_path = dirname(__FILE__).DS.&#39;uploads&#39;.DS.$_FILES[&#39;file_img&#39;][&#39;name&#39;];

   //echo $img_path;

   //进行移动文件到服务器地址
   if(@move_uploaded_file($_FILES[&#39;file_img&#39;][&#39;tmp_name&#39;],$img_path))
   {
        //显示图片
        echo "<img src=".$img_path." />"
   }
   else
   {
        cho &#39;移动文件失败&#39;;

   }
}
Nach dem Login kopieren


(4)show_image.php Wird zum Empfangen von Bilddateipfaden zum Anzeigen erfolgreich hochgeladener Bilder verwendet:

$img_path = $_GET[&#39;url&#39;];

echo "";
Nach dem Login kopieren

(5) Laden Sie den Kern hoch. Verwenden Sie einfach die Unterparameter von $_FILES, um den Upload und die Beurteilung abzuschließen :

Array ( [file_img] => Array ( [name] => news_001_01.jpg [type] => image/jpeg 
[tmp_name] => C:\Windows\Temp\php504D.tmp [error] => 0 [size] => 158360 ) )
Nach dem Login kopieren

Analyse:

$_FILES['file_img']['name'] : news_001_01.jpg Dateiname hochladen

$_FILES ['file_img']['type']: Bild/JPEG Typ der hochgeladenen Datei

$_FILES['file_img'][ ' tmp_name '] : C :WindowsTempphp504D.tmp Der Speicherpfad der temporären Datei der hochgeladenen Datei

$_FILES['file_img']['error ' ]: 0, 1, 2, 3, 4

                                                                                        Die Größe der Datei überschreitet den vereinbarten Wert (angegeben durch PHP.ini)

2 -> bedeutet das Hochladen einer Datei. Die Größe überschreitet den vereinbarten Wert (HTML Formularspezifikation)

3 -> zeigt an, dass die Datei nur teilweise hochgeladen wird 4 ->

bedeutet, dass keine Dateien hochgeladen werden

Verwandt Empfehlungen:

Native JS-Upload-Fortschrittsanzeige für große Dateien PHP-Datei-Upload-Code

PHP-Upload-Dateicode implementiert ein Beispiel für den nativen JS-Upload-Fortschritt für die Anzeige großer Dateien bar

Einfacher Code zum Hochladen von Dateien in PHP

Das obige ist der detaillierte Inhalt vonEingehende Analyse von PHP-Upload-Dateien. 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