0

更新しました!

これまで問題が発生したことはありません。ローカルサーバーにいて、UACもオフになっています。

これが私のフォームです。そこにはたくさんのテキストがあるため、フォームの単純化されたバージョンです。

<form id="setup" name="setup" action="php/process_setup.php" method="post" enctype="multipart/form-data">
   <input type="text" name="cname" id="cname" value="" />
   <input type="text" name="splash" id="splash" />
   <input type="file" name="file"/>
   <input type="text" name="email" id="email" />
   <input type="password" name="password" id="password" />
   <input type="password" name="cpassword" id="cpassword" />
   <input type="submit" value="Submit" name="submit_setup" />
</form>

これがPHP imの試みです:

if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }

結果は次のとおりです。

注意: 未定義のインデックス: C:\xampp\htdocs\ppa\php\process_setup.php の 10 行目のファイル

注意: 未定義のインデックス: C:\xampp\htdocs\ppa\php\process_setup.php の 16 行目のファイル アップロード:

注意: 未定義のインデックス: 17 行目の C:\xampp\htdocs\ppa\php\process_setup.php のファイル タイプ:

注意: 未定義のインデックス: C:\xampp\htdocs\ppa\php\process_setup.php のファイル 18 行目 サイズ: 0 kB

注意: 未定義のインデックス: 19 行目の C:\xampp\htdocs\ppa\php\process_setup.php のファイル保存場所:

編集 2

PHPに書き込み権限があるかどうかを確認するテストを行ったところ、コードは次のとおりです。

echo copy("1383778885275.jpg", "C:/xampp/tmp/1383778885275.jpg");

結果は次のとおりです。

1

そして、画像は tmp ディレクトリにあります..

4

4 に答える 4

1

私は簡単な方法でそれをやっています、これを試してみてください:

if(!empty($_POST) && !empty($_FILES["file"]["name"]) ){ //check the following post values if not empty
    $name = $_FILES["file"]["name"];
    $temp = $_FILES["file"]["tmp_name"];
    $location= "../images/";
    if(move_uploaded_file($temp, $location.$name)) {
        echo "Uploaded!!!";
    } else {
        echo "Error:";
    }
} else {
    echo "Please choose a file to upload";
}
于 2013-11-13T00:55:44.993 に答える
1

おそらく次のように変更!empty($_FILES["file"]["tmp_name"]する必要があります。

isset($_FILES["file"]["tmp_name"]

そしてif(move_uploaded_file($temp, $location.$name)) {へ:

if(move_uploaded_file($temp, $location.basename($name))) {

を強調しbasename()ます。

于 2013-11-13T00:59:08.353 に答える
0

すべての助けてくれてありがとう。含まれていないコードの一部に問題があったようです.. :/

基本的:

<form id="setup" name="setup" action="php/process_setup.php" method="post" enctype="multipart/form-data">

.....

....

<input type="file" name="logo"/>

...


.....

somewhere had some dodgy code I deleted

....

</form>

助けてくれてありがとう。

于 2013-11-13T02:22:00.140 に答える