Heim  >  Artikel  >  Backend-Entwicklung  >  So verarbeiten Sie Formular-Upload-Dateien in PHP

So verarbeiten Sie Formular-Upload-Dateien in PHP

小云云
小云云Original
2018-03-27 15:24:003863Durchsuche

Wenn Sie ein Formular zum Hochladen von Dateien verwenden, muss die Übermittlungsmethode des Formulars „Post-Übermittlung“ sein. Der Typattributwert des Eingabesteuerelements der hochgeladenen Datei sollte „Datei“ sein. Das Wichtigste ist, dass das Formular-Tag hinzugefügt werden muss und enctype="multipart/form-data"-Eigenschaften. Dieser Artikel erläutert Ihnen hauptsächlich die Methode zum Verarbeiten von Formular-Upload-Dateien in PHP. Ich hoffe, er kann Ihnen helfen.

HTML-Code:

  1. <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title>上传</title>  
    </head>  
    <body>  
        <form action="handle.php" method="post" enctype="multipart/form-data">  
            <input type="file" name="file1">  
            <br/>  
            <input type="submit" value="上传">  
        </form>  
    </body>  
    </html>

PHP-Code:

  1. <?php  
        /* 
         *用$_FILES接收通过表单上传的文件数据  
         *$_FILES[&#39;file1&#39;]中的file1对应表单中上传文件的input标签中的name值 
         *$_FILES[&#39;file1&#39;]返回的是一个数组: 
         $_FILES[&#39;file1&#39;][&#39;name&#39;] 显示上传文件的原名称。 
         $_FILES[&#39;file1&#39;][&#39;type&#39;] 文件的 MIME 类型,例如"image/gif"、"image/png"。 
         $_FILES[&#39;file1&#39;][&#39;size&#39;] 已上传文件的大小,单位为字节。 
         $_FILES[&#39;file1&#39;][&#39;tmp_name&#39;] 储存的临时文件名和临时储存的路径。 
         $_FILES[&#39;file1&#39;][&#39;error&#39;] 和该文件上传相关的错误代码。 
         =0; 没有错误发生,文件上传成功。  
         =1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。  
         =2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。  
         =3; 文件只有部分被上传。  
         =4; 没有文件被上传。  
         =5; 上传文件大小为0.  
         */  
        $file=$_FILES[&#39;file1&#39;];  
      
        //给文件重命名,尽量不要起中文名字,如下以时间戳+随机数重命名  
        $filename=time().rand(0,1000);  
      
        //获取文件的后缀,pathinfo()会以数组的形式返回一个文件的路径信息,其中extension元素则是文件的后缀名  
        $ext=pathinfo($_FILES[&#39;file1&#39;][&#39;name&#39;])[&#39;extension&#39;];  
      
        //最终文件名为  
        $filename=$filename.&#39;.&#39;.$ext;  
      
        //设置文件上传到服务器后存放的位置,move_uploaded_file()会将文件移动到新位置,第一个参数是要移动的文件,第二个参数是移动到哪里。我在这里是放到和本php文件同一目录下,注意需要将新的文件名连接进去。  
        if (move_uploaded_file($file[&#39;tmp_name&#39;], &#39;./&#39;.$filename)) {  
            echo "success";  
         } else{  
            echo "error";  
         }    
     ?>

Verwandte Empfehlungen:

Wie geht PHP mit Formularen um?

Das obige ist der detaillierte Inhalt vonSo verarbeiten Sie Formular-Upload-Dateien in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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