PHPはどのようにファイルをアップロードしますか?実装コードの詳細

4331 ワード

PHPを使ってファイルアップロードシステムを構築する方法を考えたことがありますか?ここでは、ファイルのアップロード手順について説明します.「システムを通じて任意のタイプのファイルをアップロードできますか?」という質問を思い浮かべるかもしれません.答えは可能です.異なる拡張子を持つファイルをアップロードすることができます.
ファイルをサーバにアップロードするためのHTMLフォームを作成します.
index.html



    
    File Upload Form


    

Upload File

Note:Only .jpg, .jpeg, .png formats allowed to a max size of 2MB.


ファイルアップロードシステムを処理できるphpスクリプトを書く必要があります.
file-upload-manager.php
 "image/jpg" , "jpeg" => "image/jpeg" , "gif" => "image/gif" , "png" => "image/png" );
         $file_name = $_FILES [ "photo" ][ "name" ];
         $file_type = $_FILES [ "photo" ][ "type" ];
         $file_size = $_FILES [ "photo" ][ "size" ];
      
         // Verify file extension
         $ext = pathinfo ( $filename , PATHINFO_EXTENSION);
  
         if (! array_key_exists ( $ext , $allowed_ext ))         
             die ( "Error: Please select a valid file format." );
          
         // Verify file size - 2MB max
         $maxsize = 2 * 1024 * 1024;
  
         if ( $file_size > $maxsize )         
             die ( "Error: File size is larger than the allowed limit." );        
      
         // Verify MYME type of the file
         if (in_array( $file_type , $allowed_ext ))
         {
             // Check whether file exists before uploading it
             if ( file_exists ( "upload/" . $_FILES [ "photo" ][ "name" ]))            
                 echo $_FILES [ "photo" ][ "name" ]. " is already exists." ;
              
             else
             {
                 move_uploaded_file( $_FILES [ "photo" ][ "tmp_name" ], "uploads/" . $_FILES [ "photo" ][ "name" ]);
                 echo "Your file was uploaded successfully." ;
             } 
         } 
         else
         {
             echo "Error: Please try again." ; 
         }
     } 
     else
     {
         echo "Error: " . $_FILES [ "photo" ][ "error" ];
     }
}
?>

上記のスクリプトでは、フォームをコミットすると、PHPスーパーグローバル関連配列$FILESアクセス情報.$を使用する以外はFILES配列の形式に加えて,多くの内蔵関数も主要な役割を果たしている.ファイルをアップロードした後、スクリプトでサーバのリクエスト方法を確認します.POSTであれば続行します.そうしないと、システムにエラーが発生します.後で$_にアクセスしましたFILES配列は、ファイル名、ファイルサイズ、およびファイルタイプを取得します.これらの情報を取得すると、ファイルのサイズとタイプを検証できます.最後に、ファイルをアップロードするフォルダで検索して、ファイルがすでに存在するかどうかを確認します.もしなかったらmoveを使いましたuploaded_file()ファイルを一時的な場所からサーバ上の必要なディレクトリに移動すると、完了します.
出力は次のとおりです.
その他のバックエンド開発に関する内容は、lsbin-IT開発技術:https://www.lsbin.com/
アップロードされたファイルの詳細を表示します.
  • Node.jsのformidableモジュールアップロードファイル : https://www.lsbin.com/2898.html
  • Node.js Sharpパッケージによる画像アップロード : https://www.lsbin.com/1604.html
  • PHP ftp_put()関数の使い方 : https://www.lsbin.com/3352.html