0

次のエラーが表示されますが、理由がわかりません。

注意: 未定義のインデックス: C:\xampp\htdocs\site\upload.php の 3 行目にアップロードされました

注意: 未定義の変数: C:\xampp\htdocs\site\upload.php の 7 行目の upload_size

注意: 未定義の変数: C:\xampp\htdocs\site\upload.php の 14 行目の upload_type

注意: 未定義のインデックス: C:\xampp\htdocs\site\upload.php の 29 行目にアップロードされました

この投稿に php のソースを含めようとしましたが、できませんでした。ここにペーストビンへのリンクがあります:私のソースコード

<?php 
 $target = "upload/"; 
 $target = $target . basename( $_FILES['uploaded']['name']) ; 
 $ok=1; 

 //This is our size condition 
 if ($uploaded_size > 350000) 
 { 
 echo "Your file is too large.<br>"; 
 $ok=0; 
 } 

 //This is our limit file type condition 
 if ($uploaded_type =="text/php") 
 { 
 echo "No PHP files<br>"; 
 $ok=0; 
 } 

 //Here we check that $ok was not set to 0 by an error 
 if ($ok==0) 
 { 
 Echo "Sorry your file was not uploaded"; 
 } 

 //If everything is ok we try to upload it 
 else 
 { 
 if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
 { 
 echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; 
 } 
 else 
 { 
 echo "Sorry, there was a problem uploading your file."; 
 } 
 } 
 ?>

編集 1: about.com about.comからコードを取得しました

4

3 に答える 3

0

1.) $FILES 配列に、アップロードされたインデックスが定義されていません。それはおそらく$_FILESそれが最初のものだからです。試す

<pre>
print_r($FILES);
print_r($_FILES);
</pre>

そこにあるものを見るために。

2.) ¿条件で使用されている変数をどこで初期化していますか? 配列内のファイル要素からデータを抽出し、それを使用する前に変数に割り当てる必要があります。

于 2012-08-17T17:02:30.093 に答える
0

最初の通知は、この行で次のことを伝えています。

$target = $target . basename( $_FILES['uploaded']['name']) ;

$_FILESアップロードされたという名前のファイル入力を持つフォームでファイルがアップロードされなかったため、配列に「アップロードされた」インデックスはありません。

次の通知は、この行で次のことを示しています。

if ($uploaded_size > 350000) 

以前に定義されたことのないという名前の変数にアクセスしていますが$uploaded_size、350000 を超える値を保持するにはどうすればよいでしょうか?

次の 2 つの通知と同じ問題。一部のコードが不足しているようで、ファイルをアップロードせずに、または期待される enctype と入力名を持つフォームを使用せずに、アップロードされたファイルを処理するためのコードをテストしています。

于 2012-08-17T17:03:29.000 に答える
0

$_FILES 配列にアップロードしたファイルへの参照が含まれていないことがわかった場合は、フォーム タグに enctype="multipart/form-data" が含まれていることを確認してください。

于 2012-08-17T17:43:43.447 に答える