私はphpにまったく慣れていません。ファイルのアップロードの例を試していました。ここでは、内部getimagesize()
関数$_FILES['file']['temp_name']
が使用されています。$ _ FILES ['file'] ['temp_name']をエコーすると、次の出力が表示されます。
C:\ xampp \ tmp \ phpDE4B.tmp
私の質問は次のとおりです。
1.getimagesize()
関数内で元の名前の代わりにtmp_nameを使用する理由。
2.このtmp_nameが作成される理由は何ですか?
3.どのように生成されますか?
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
一時ファイルは、ファイルアップロードプロセスの一部として生成され、PHPとWebサーバー間で直接処理されます。
一時ファイルは、ユーザーランドコードがファイルをサーバー上の最終的な宛先フォルダーに移動できるようにするために使用されます。最終的な宛先フォルダーは、完全に依存しているため、httpリクエストで渡したり、Webサーバーで処理したりできる情報ではありません。アプリケーションで。ファイルが最終的な宛先フォルダーに移動されない場合、一時ファイルはリクエストの最後に自動的に削除されます
この場合、コードは検証プロセスの一部であり、ファイルを最終的な宛先フォルダーに移動する前に、ファイルが主張どおりであることを確認します(有効なファイルであると想定)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加