-2

ユーザーがファイルダイアログから写真を選択するたびに、ajaxを使用してユーザーのコンピューターからフォルダーに写真をアップロードしていますか?

move_uploaded_file()ここで働けますか?私はそうは思わない。:)

4

3 に答える 3

2

まず第一に、ajax を使用してファイル アップローダーを実行する場合、dropzoneを使用すると非常に簡単に実行できます。ドラッグアンドドロップ/プレビュー/削除など、多くの機能をボックスからすぐに利用できます

質問に戻る:

なぜそうならないと思いますか?

あなたはこのようなことをしなければなりません

<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") && ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts)){
  if ($_FILES["file"]["error"] > 0){
    echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"])){
      echo $_FILES["file"]["name"] . " already exists. ";
    } else {
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
      }
    }
  } else {
  echo "Invalid file";
  }
?>

ここここからすべてを読んでください

PS ファイルのアップロードは非常に難しい問題です。実装するのは簡単ですが、実装するのは安全ではありません。物事を正しく行うために、このセキュリティ トピックを読むことを検討してください

https://security.stackexchange.com/questions/32852/risks-of-a-php-image-upload-form

https://security.stackexchange.com/questions/29719/secure-php-upload-form-storage?rq=1

于 2013-09-30T20:13:41.273 に答える
0
if (move_uploaded_file($source, $target)) {
}
于 2013-09-30T20:10:46.833 に答える
0

アップロードされておらず、クライアントコンピューターにアクセスできる場合は、単純にcopyを使用できます...

使用例:

$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "failed to copy $file...\n";
}

または、次のように xcopy を使用します。

exec('xcopy c:\\myfolder d:\\myfolder /e/i', $a, $a1);

フルアクセス権があると仮定して

于 2013-09-30T20:04:27.690 に答える