PHP は、フォーム データの処理、動的ページの生成などに使用できるサーバー側スクリプト言語です。一般的なアプリケーション シナリオの 1 つは、フォームを介してファイルをアップロードすることです。この記事では、アップロードフォームの処理、アップロードされたファイルの保存、アップロードされるファイルの種類とサイズの制限など、PHPのファイルアップロード機能を紹介します。
1. アップロード フォームの処理
HTML では、form タグを通じてフォームを作成し、input タグの type="file" 属性を使用してファイルのアップロードを許可できます。 PHP では、$_FILES グローバル変数を使用して、アップロードされたファイルの情報を取得できます。
フォームにファイルをアップロードするための入力タグと送信ボタンが含まれているとします。
04dbbc2b78191ba795df1e4d8b29f86f
142adee165ef41066428c0cfe35ac626
ここで注意すべき点がいくつかあります:
次に、upload.php ファイルでファイルのアップロード要求を処理します。
2. アップロードされたファイルのストレージ
まず、アップロードされたファイルが存在するかどうかを確認する必要があります。存在する場合は、$_FILES 配列を通じてアップロードされたファイルの関連情報を取得できます。
##if( isset($_FILES["fileToUpload"])) {$file_name = $_FILES["fileToUpload"]["name"]; $file_tmp = $_FILES["fileToUpload"]["tmp_name"]; $file_size = $_FILES["fileToUpload"]["size"];}このうち、ファイル名は $name 属性を通じて取得できます。サイズは $size 属性を通じて取得でき、ファイルの一時パスは $tmp_name 属性を通じて取得できます。 次に、アップロードされたファイルをターゲット フォルダーに移動する必要があります。ここでは、move_uploaded_file() 関数を使用します: $target_dir = "uploads/";
$target_file = $target_dir .basename($file_name);
if(move_uploaded_file($file_tmp, $target_file)) {
echo "The file ". basename($file_name). " has been uploaded.";} else{
echo "Sorry, there was an error uploading your file.";}上記のコード, $target_dir はアップロードされたファイルの保存ディレクトリで、basename() 関数を使用してファイル名を取得します。ファイルの移動には move_uploaded_file() 関数を使用します。最初のパラメータはファイルの一時パス、2 番目のパラメータはターゲット パスです。ファイルが正常に移動された場合は、アップロード成功のメッセージがユーザーに返されます。それ以外の場合は、アップロード失敗のメッセージが返されます。 3. アップロードされるファイルの種類とサイズを制限するアップロード システムのセキュリティとパフォーマンスを確保するには、アップロードされるファイルを制限する必要があります。これには、ファイルの種類とファイル サイズの両方が含まれます。
$file_type = strto lower(pathinfo($file_name,PATHINFO_EXTENSION));
if( in_array($file_type, $allowed_types)){
// 合法文件类型} else{
echo "Sorry, only JPG, JPEG, PNG, GIF files are allowed.";}上記のコードでは、pathinfo() 関数を使用してファイルを取得します。接尾辞 name の場合、strto lower() 関数はそれを小文字に変換し、in_array() 関数はアップロードが許可されているファイル タイプの配列内にあるかどうかを判断します。
post_max_size=8M
upload_max_filesize=2M
以上がPHPでファイルを送信するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。