ユーザーがファイルダイアログから写真を選択するたびに、ajaxを使用してユーザーのコンピューターからフォルダーに写真をアップロードしていますか?
move_uploaded_file()
ここで働けますか?私はそうは思わない。:)
まず第一に、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
if (move_uploaded_file($source, $target)) {
}
アップロードされておらず、クライアントコンピューターにアクセスできる場合は、単純に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);
フルアクセス権があると仮定して