Apache/PHP5では、アップロードしたファイルの内容をファイルシステムに書き込まずに直接取得できますか?ファイルシステムに書き込まずに直接ファイルを解析する
これについてはあまりお伝えしていませんが、アップロードされるとファイルは常に一時ディレクトリに書き込まれます。
Apache/PHP5では、アップロードしたファイルの内容をファイルシステムに書き込まずに直接取得できますか?ファイルシステムに書き込まずに直接ファイルを解析する
これについてはあまりお伝えしていませんが、アップロードされるとファイルは常に一時ディレクトリに書き込まれます。
私はあなたを理解していますが、私は答えようとします。
http://www.w3schools.com/PHP/php_file_upload.asp
あなたはここで学ぶことができることは、すべてのファイルはPHPの一時ディレクトリにアップロードされていることです。その後、PHPのtempディレクトリにアップロードされたファイルは、スクリプトの実行が終了した後に削除されるため、そのファイルを永続的なWebアクセス可能なディレクトリに移動/コピーするスクリプトに依存します。
Linuxでは、メモリにファイルシステムパーティションを作成できます。アップロードされたファイルがメモリ内のパーティションに確実に書き込まれるようにするには、メモリに格納されているファイルシステムがファイルシステムに格納されているかのように動作します。
ファイルシステムではなくメモリにファイルを書き込むソリューションでは、ファイルのサイズと量に厳しい制限があります。ディスクへの書き込みを避けることでスピードが向上しますが、十分なメモリを使用して他のデータをページファイルまたはスワップにプッシュすると、「最適化」は非常に迅速に逆効果になります。あなたがすることができ
:
<?php
if (!empty($_FILES))
{
echo "<pre>";
print_r($_FILES);
echo file_get_contents($_FILES['file']['tmp_name']);
echo "</pre>";
}
?>
<form id="myForm" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Send" />
</form>
出力:それはいくつかのphp.iniの変数によって制限されています場合、私は知らない
Array
(
[file] => Array
(
[name] => mytextfile.txt
[type] => text/plain
[tmp_name] => D:\PHP\wamp\tmp\php1283.tmp
[error] => 0
[size] => 1473
)
)
My text file My text file My text file My text file My text file My text file
My text file My text file My text file My text file
My text file My text file My text file My text file My text file My text file
My text file My text file My text file
My text file My text file My text file My text file My text file
。
あなたは正しく理解しました - 私はそのファイルを使用しているだけで、その中のデータを読み込みました。ファイルシステムにファイルを保存したくない場合はファイルを保存したくありませんでした。 – jimyi
それでは、私はあなたがファイルをアップロードしてスクリプトをexectuteの横に何か他に持っているとは思わない。実行後 - ファイルが削除されます。 :) – Gavrisimo