PHPはどのようにファイルをアップロードしますか?実装コードの詳細
4331 ワード
PHPを使ってファイルアップロードシステムを構築する方法を考えたことがありますか?ここでは、ファイルのアップロード手順について説明します.「システムを通じて任意のタイプのファイルをアップロードできますか?」という質問を思い浮かべるかもしれません.答えは可能です.異なる拡張子を持つファイルをアップロードすることができます.
ファイルをサーバにアップロードするためのHTMLフォームを作成します.
index.html
ファイルアップロードシステムを処理できるphpスクリプトを書く必要があります.
file-upload-manager.php
上記のスクリプトでは、フォームをコミットすると、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
ファイルをサーバにアップロードするためのHTMLフォームを作成します.
index.html
File Upload Form
ファイルアップロードシステムを処理できる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/
アップロードされたファイルの詳細を表示します.