ホームページ > バックエンド開発 > PHPチュートリアル > ファイルのアップロードに関するページでエラーが発生しました。

ファイルのアップロードに関するページでエラーが発生しました。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:05:37
オリジナル
1062 人が閲覧しました

1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>upload.</title><style type="text/css"><!--.STYLE2 { font-family: "宋体";  font-weight: bold;}--></style></head><body><style type="text/css"><!--tr,td{font-size:10px}--></style><center> <h1 class="STYLE2">upload your file</h1>    <p>   <table border="1" cellspacing="0" cellpadding="1" bordercolordark="#ffffff" bordercolorlight="#0000ff" width="400">   <form action="up_back.php" method="post" enctype="multipart/form-data">   <tr bgcolor="#ccccff">    <td>chose your file:</td>   <td><input type="file" name="upfile" size=32 /></td>  </tr> <tr>  <td>describe:</td>  <td><input type="text" name="describe" size="42" /></td>  </tr> <tr>  <td>owner:</td> <td><input type="text" name="owner" size="42" /></td> </tr> <tr>  <td>submit:</td>    <td><center><input type="submit" value="submit" /></center></td>  </tr> </form>   </table>  </p></center>       </body></html>

ログイン後にコピー

これは、フロント ページで次の php を呼び出すために使用されます

1

<?phpif (!$_POST["upfile"]&&$_FILES["upfile"]["name"]==""){  echo "no file<p>";    echo "click<a href=\"up_forward.html\">there</a>return!";}else {    $filepath="upload/";    $name=$filepath.$_FILES["upload"]["name"];  while (file_exists($name))  {       $temp=explode(".", $name);      $name=$temp[0]."0".".".$temp[1];    }   if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $name))    {       if ($_POST["owner"])        {           $owner=$_POST["owner"];     }       else        {           $owner="NULL";      }       if ($_POST["describe"])     {           $describe=$_POST["describe"];       }       else        {           $describe="NONE";       }       $time=date("y-m-d H:m:s");      $content=$_FILES["upload"]["name"]."||".$owner."||".$describe."||".$time."\n";      file_put_contents("record.dat", $content.FILE_APPEND);      echo "name:".$_FILES["upfile"]["name"];     echo "<p>";       echo "is upload successfull.<p>";     echo "click<a href=\"up_forward.html\">there</a>return!";   }   else    {       echo "upload error!<p>";      echo "fail!<p>";      echo "click<a href=\"index.php\">there</a>check!";  }}?>

ログイン後にコピー

問題は、アップロード後にファイルのアップロードが成功したことを示すプロンプトが表示されることですが、アップロード フォルダー内のファイル名が 0 の倍数であることです。ファイル形式がありません。これは何ですか?


表示されるエラーは次のとおりです。
注意: 未定義のインデックス: D:phpnowhtdocsbup_back.php の 2 行目

注意: 未定義のインデックス: アップロードD:phpnowhtdocsbup_back.php の 10 行目

注意: 未定義のオフセット: 1 in D:phpnowhtdocsbup_back.php の 14 行目

注意: 未定義のインデックス: D:phpnowhtdocsbup_back.php の 35 行目でアップロード
名前:10.jpg


ディスカッションへの返信 (解決策)

この行 $name=$filepath.$_FILES["upload"]["name"];
アップロードされた最初のファイルには name="file" がありますが、 "upload".

move_uploaded_file($_FILES["upfile "]["tmp_name"], $name) 次のパラメータにはパスがありません

move_uploaded_file($_FILES["upfile"]["tmp_name"], $ name) 次のパラメータにはパスがありません

彼の $name=$filepath .$_FILES["upfile"]["name"];以上です

1.
if (!$_POST["upfile"]&& $_FILES["upfile"]["name"]=="")
==>
if ($_FILES["upfile"]["name"]=="") //このようにして、ファイルを選択します

2.
$name=$filepath.$_FILES["upload "]["name"];
==》
$name=$filepath.$_FILES["upfile"]["name" ];

3. ファイルが存在する場合。ループ全体がデッドサイクルになりますか?
if (File_exists ($ name)) {
$ TEMP = Explode (".", $ Name); に変更できますか? 0".".".$temp[1];
}
4. $content=$_FILES[" upfile"]["name"]."||".$owner."||".$describe 。 "||".$time."n"



1.

if (!$_POST["upfile"]&&$_FILES["upfile"]["name"]=="" )

==>
if ($_FILES["upfile"]["name"]=="") //これにより、ファイルを選択するかどうかを決定できます

2.
$name=$filepath.$_FILES [ "upload"]["name"];
==》
$name=$filepath.$_...
このように修正すると、確かにモジュール機能が完成しました...ありがとうございます。よろしくお願いします。
この 1 行 $name=$filepath.$_FILES["upload"]["name"];
アップロードされた最初のファイルには name="file" がありますが、"upload" はありません。 、確かにここに問題があります。ありがとうございます

1.
if (!$_POST["upfile"]&&$_FILES["upfile"]["name"]=="")
==> ;

if ($_FILES["upfile"] ["name"]=="") //これにより、ファイルを選択するかどうかを決定できます

2.
$name=$filepath.$_FILES["upload" ]["名前"];
==》
$ name=……
神レベルの人が教えられました

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート