ホームページ  >  記事  >  バックエンド開発  >  PHPでフォームアップロードファイルを処理する方法

PHPでフォームアップロードファイルを処理する方法

小云云
小云云オリジナル
2018-03-27 15:24:003817ブラウズ

フォームを使用してファイルをアップロードする場合、フォームの送信方法は送信後である必要があります。最も重要なことは、フォーム タグに enctype="multipart/" を追加する必要があることです。フォームデータ」属性。この記事では、主に PHP でフォームアップロードファイルを処理する方法について説明します。お役に立てれば幸いです。

html コード:

  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 コード:

  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";  
         }    
     ?>

関連推奨事項:

php フォームを処理するには?

以上がPHPでフォームアップロードファイルを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。