0

このエラーを取得するにはどうすれば修正できますか?. 私はちょうど正しい方向にポイントする必要があります

注意: 未定義のインデックス: C:\Users\chisenga\Documents\project\htdocs\project\upload.php の 36 行目の file_upload

これがコードです

 form method="post" enctype="multipart/form-data" action="upload.php">
<label for="">File: <input type="file" name="file_upload"/></label>
<input type="submit" value="Upload"/>
</form>


<?php

$file = $_FILES['file_upload'];
$name = $file['name'];
$type = $file['type'];
$tmp_location = $file['tmp_name'];
$upload = 'uploads';
$final_destination = $upload.'/'.$name;
$error = $file['error'];
$max_upload_size = 2097152;
$size = $file['size'];


$allowedImageTypes = array( 'image/png', 'image/jpeg', 'image/gif' );

function imageTypeAllowed($imageType){
global $allowedImageTypes;
if(in_array($imageType, $allowedImageTypes)){
    return true;
}
else{
    return false;
}
}

 //Check for errors
 if($error > 0 || is_array($error)){
 die("Sorry an error occured");
}

//Check if file is image
//Only required if image is only whjat we need
//if(!getimagesize($tmp_location)){
//die("Sorry, you can only upload image types");
//}

 if(!imageTypeAllowed($type)){
  die("Sorry, file type is not allowed");
 }

 if(file_exists($final_destination)){
 $final_destination = $upload.'/'.time().$name;
 }

 if(!move_uploaded_file($tmp_location, $final_destination)){
die("Cannot finish upload, something went wrong");
}

?>

<h2>File Successfully uploaded!</h2>
4

2 に答える 2

0

サーバー側のコードは、ページの読み込み時に、何かが送信される前に、送信されたフォーム データを参照しようとしています。フォーム ハンドラーを別のページに分離するか、参照する前にフォーム データが存在するかどうかを確認する必要があります。

if (isset($_FILES['file_upload'])) {
    // your form-handling code
}
于 2014-03-18T13:15:22.173 に答える
0

次のチェックを使用して、投稿されたファイルを処理するコードをラップする必要があります。

if ( $_REQUEST['METHOD'] == 'POST' && isset($_FILES['file_upload']) ) {

    $file = $_FILES['file_upload'];
    $name = $file['name'];
    $type = $file['type'];
    $tmp_location = $file['tmp_name'];
    $upload = 'uploads';
    $final_destination = $upload.'/'.$name;
    $error = $file['error'];
    $max_upload_size = 2097152;
    $size = $file['size'];

    // ...

}
于 2014-03-18T13:14:32.170 に答える