理論的に特定のディレクトリに画像ファイルをアップロードする必要のあるPHPフォームがありますが、それは行いません。これはHTMLです:PHPアップロードフォームにエラーが表示される
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
そして、これはPHPです:
<?php
$cartella_caricamento = "pagamenti/";
$file_caricato = $cartella_caricamento.basename($_FILES["fileToUpload"]
["name"]);
$uploadOk=1;
$imageFileType=pathinfo($file_caricato,PATHINFO_EXTENSION);
if(isset($_POST["submit"]))
{
$check = getimagesize($_FILES["fileToUpload"]["nome_upd"]);
if($check !== false) //Check if the file is an image
{
echo "Il file è un immagine, OK".$check["mime"].".";
$uploadOk=1;
} else {
echo "Il file non è un immagine.";
$uploadOk=0;
}
if ($_FILES["fileToUpload"]["size"] > 2000000) { //check the image size, if it is >2MB it refuses it
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if ($uploadOk==0) {
echo "Il file non è stato caricato a causa di un errore";
} else {
if(move_uploaded_file($_FILES["file_caricato"]["nome_upd"], $file_caricato))
{
echo "Il file".basename($_FILES["fileToUpload"]["name"])."è stato caricato";
}else {
echo "C'è stato un errore nel caricamento del file.";
}
}
}
問題は、私はXAMPPを使用してページを実行するとき、それはその行で21
$check = getimagesize($_FILES["fileToUpload"]["nome_upd"]);
が言うことです定義されていないインデックス(nome_tmp)です。理由はわかりません エクスプローラウィンドウで選択した画像がディレクトリ「pagamenti /」にアップロードされていません
「nome_upd」はどこから入手できますか? $ check = getimagesize($ _ FILES ["fileToUpload"] ["name"]); –
うん、私はちょうど値のために使用する特定の名前があることを発見した –