PHP tmp dir einstellen - PHP Upload funktioniert nicht

Ich arbeite am Hochladen von Dateien über eine Webseite mit einem FortschrittsbalkenValums Datei-Uploader. Fast alles funktioniert einwandfrei, aber ich kann das Standard-tmp-Verzeichnis, in dem die Datei gespeichert ist, nicht ändernwährend der Upload.

Dateien sollten in gespeichert werden/upload Verzeichnis und nicht im Standardsystem/tmp Verzeichnis, weil/tmp wird in eine RAM-Disk eingelegt, deren Größe auf 4 MB begrenzt ist, und der Benutzer lädt Dateien um 10 MB hoch.

Ich habe viele Webseiten durchsucht, aber keine der Lösungen hat funktioniert. Ich habe das temporäre Verzeichnis eingestelltphp.ini:

upload_tmp_dir =/upload

Ich habe Berechtigungen für die festgelegt/upload dir und apache ist der eigentümer der datei, daher ist das verzeichnis definitiv von PHP beschreibbar.

Ich habe den Zielpfad im Datei-Uploader auf eingestellt/upload, weil ich möchte, dass die Dateien nach dem Upload auch in diesem Verzeichnis gespeichert werden. Das Endergebnis ist, dass kleine Dateien erfolgreich hochgeladen werden, aber Dateien, die größer als 4 MB sind, nicht hochgeladen werden können. Der einzige Grund für dieses Verhalten ist, dass Dateien in gespeichert werden/tmp während des Uploads. Um sicher zu sein, habe ich es mit überprüftsys_get_temp_dir() und das ergebnis war/tmp-so PHP ignoriert meine php.ini Direktive oder es gibt eine andere Möglichkeit festzulegen, wo Dateien während des Uploads gespeichert werden.

Oh, und die letzten Informationen:open_basedir ist nicht gesetzt, daher ist der PHP-Zugriff auf die Festplatte nur durch Dateiberechtigungen beschränkt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage