Sponsor-Board.de

Normale Version: PHP FileUpload
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend,

ich habe mir vor kurzen einen vServer gemietet, hab Apache, PHP, Mysql usw installiert und wollte via PHP Script eine Datei hochladen. Immer wenn ich die Datei hochladen will, wird sie aber einfach nicht abgespeichert.

Ich weiß nicht genau, woran das liegen könnte, aber am Script liegt es nicht, immerhin hat es beim alten Webspace schon funktioniert.

Ich kenne mich mit Linux Servern noch nicht so gut aus, aber ich denke dass die temporäre Datei einfach irgendwohin am Server hochgeladen wird, von dem ich sie nicht an den gewünschten Ort abspeichern kann.
Als ich Apache usw installiert hab, wurde die php.ini Date zwar erstellt, aber die upload_tmp_dir Option war nicht vorhanden. Natürlich hab ich die nachträglich hinzugefügt, aber kann es vielleicht sein dass es irgendwie nicht geändert wurde? Btw, Apache hab ich neu gestartet.

Ich hoffe ihr könnt mir helfen, denn ich bin wirklich schon langsam am verzweifeln.

MfG, David
Rechte richtig gesetzt ? Pfad korrekt ?

Womit läds du das ganze hoch ? Code Schnipsel wär super
Die Rechte sind richtig gesetzt.
in der php.ini file steht

upload_tmp_dir = /var/www/

und das script

move_uploaded_file($_FILES["file_add"]["tmp_name"],"/upload")
Also ich würde ja trotz der Uhrzeit sagen:

upload_tmp_dir = /tmp

Aber das musst du eigentlich garnicht zwingend setzen und mit den paar Informationen die du hier lieferst kann ich dir leider nicht wirklich helfen.
" bool move_uploaded_file ( string $filename , string $destination )"

das ist mal ein Auszug für dich von php.net zur Funktion move_uploaded_file.

So gesehen ist deine Funktion komplett richtig, es hat definitiv nichts mit deinem Filename zu tun, temporäre Dateien kann man so nicht sehen.

Großes fettes ABER: bei dem Punkt $destination machst du einen Denkfehler. Du gibst bei dir lediglich den Ordner an, die Datei weiss aber weder wie ihr Name in diesem Ordner sein soll, noch wie die Dateiendung ist.

$destination sieht immer so aus: [Ordnerstruktur/ Pfad][Dateiname][Endung]
Sprich in deinem Fall musst du hinter /upload noch den Dateinamen plus Endung dransetzen, dann muss es gehen.
danke dlite. das wars
Referenz-URLs