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=……
神レベルの人が教えられました