Valums file uploaderを使用して、進行状況バーのある Web ページ経由でファイルのアップロードに取り組んでいます。ほとんどすべてが正常に機能しますが、アップロード中にファイルが保存されるデフォルトの tmp ディレクトリを変更できません。
サイズが 4 MB に制限された RAM ディスクにマウントされ、ユーザーが約 10 MB のファイルをアップロードするため、ファイルは/upload
デフォルトのシステム/tmp
ディレクトリではなくディレクトリに保存する必要があります。/tmp
多くの Web ページを検索しましたが、解決策はありませんでした。に一時ディレクトリを設定しましたphp.ini
:
upload_tmp_dir =/upload
ディレクトリへのアクセス許可を設定しました/upload
。apache がファイルの所有者であるため、ディレクトリは PHP によって確実に書き込み可能です。
/upload
アップロード後にファイルをこのディレクトリにも保存したいので、ファイル アップローダーのターゲット パスを に設定しました。最終的な結果として、小さなファイルは正常にアップロードされますが、4 MB を超えるファイルはアップロードに失敗します。私の頭に浮かぶこの動作の唯一の理由は、/tmp
アップロード中にファイルが保存されることです。確かに、私はそれをチェックしましたがsys_get_temp_dir()
、結果は/tmp
-so PHP が私の php.ini ディレクティブを無視するか、アップロード中にファイルが保存される場所を設定する他の方法があります。
ああ、最後の情報:open_basedir
が設定されていないため、ディスクへの PHP アクセスはファイルのアクセス許可によってのみ制限されます。