ユーザーにテキスト ファイルをアップロードしてもらい、それをアプリケーションで処理します。処理が完了したら、後で参照できるように、このテキスト ファイルのコピーをサーバーのどこかに保存したいと思います。現在、アップロードされたテキスト ファイルは、アプリによって閉じられるまで PHP temp フォルダーに残ります。
これを達成する簡単な方法は何ですか?
ところで、私の Web サーバーと localhost でこれを行う方法を知る必要があります (テスト用)。
ユーザーにテキスト ファイルをアップロードしてもらい、それをアプリケーションで処理します。処理が完了したら、後で参照できるように、このテキスト ファイルのコピーをサーバーのどこかに保存したいと思います。現在、アップロードされたテキスト ファイルは、アプリによって閉じられるまで PHP temp フォルダーに残ります。
これを達成する簡単な方法は何ですか?
ところで、私の Web サーバーと localhost でこれを行う方法を知る必要があります (テスト用)。
fwrite関数を使用できます(ただし、この特定の例では、これはおそらくあまり良い考えではありません。
$fp = fopen('data.txt', 'w');
fwrite($fp, $yourContents);
fclose($fp);
ただし、ファイルが既にある場合は、copy コマンドを使用してコピーするだけです (temp フォルダーに保存したい場合は、代わりに名前変更機能を使用して移動します)。
コピーするには、次のようにします
$tempfile = 'tempfile.txt';
$newfile = 'newfile.txt';
if (copy($tempfile, $newfile)) {
echo "success!";
} else {
echo "misery :(";
}
名前を変更して移動するには
// Rename returns a bool, just as in the copy example
rename("/tmp/tempfile.txt", "/home/user/files/newfile.txt");
これを追加しました: move_uploaded_fileで移動するには
開発環境でこれをテストしていないことに注意してください。これは完全に実行されない場合があります。
$uploads_dir = 'C:\\movefiles\\here\\';
foreach ($_FILES["upload-tracking-file"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["upload-tracking-file"]["tmp_name"][$key];
$name = $_FILES["upload-tracking-file"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir\\$name");
}
}
参考文献
php の関数 ob_start() と file_put_contents() を使用すると、これが役に立ちます。このリンクは、返信を投稿しない場合に役立ちます