0251 / 590 837 15
info@a-coding-project.de
;

Bugfix: Upload

Code & Blog Logo

Code & Blog Logo

Einige von euch haben bereits bemerkt, dass der Upload des CMS Tutorials nicht mehr richtig funktioniert. Das wird sich heute wieder ändern.

Vielen Dank an Kay, der einen Teil der Fehlerursachen im Code gefunden hat.

Fangen wir an mit der Datei /system/classes/fileserver.php. Hier wurde in der Funktion upload falsch auf die Datei zugegriffen. Die Datei wurde als Parameter übergeben, aber es wurde trotzdem auf $_FILES zugegriffen. Die Zeilen müsst ihr einfach durch dieses ersetzten:

      $tempname = $file['tmp_name'];
      $name = $file['name'];

Aber das alleine hat zur Zeit noch keine sichtbaren Fehler verursacht. Schlimmer wird es in der Datei /admin/includes/upload.php. Hier wurde auf einen Parameter $base zugegriffen, der gar nicht existiert hat. Dort wird bereits per Post die Variable dir übergeben. Auf diese müssen wir auch zugreifen. Die Pathinfo sieht dann so aus:

$path_info = pathinfo("../content/uploads/".$_POST['dir']."/".$name);

Weiter unten ist dann nochmal das gleiche:

<img src="<?PHP echo "../content/uploads/".$_POST['dir']."/".$name; ?>" style="max-width:300px" />

Wenn nun eine Datei aus welchen Grund auch immer nicht hochgeladen wurde, gibt es neben unserer Fehlermeldung auch noch eine PHP-Fehlermeldung. Diese beseitigen wir so:

if(@FileServer::upload($_POST['dir'],$_FILES['file'])){

Zur guter letzt kommt nun noch die Datei /content/imagelist.php dran. Hier wird das Komma nicht richtig gesetzt, so dass ab 2 Bildern die Liste nicht richtig gefüllt wird.

Hier wurde einfach der Wert $i nicht erhöht. Das geschieht dann hier:

if($i < count($images)){
  echo ",";
}
$i++;

Und wenn ich jetzt nicht noch irgend eine Änderung vergessen hab, sollte alles wieder gut funktionieren.

Kommentare

Daniel schrieb am 08.12.2009:

Das Eintragen in die Datenbank funktioniert bei mir noch nicht.

Stefan Wienströer schrieb am 08.12.2009:

Bekommste irgdend eine Fehlermeldung o.Ä?

Daniel schrieb am 10.12.2009:

Läuft jetzt Tadellos, danke für den ICQ-Chat. ;-)

erxxlu schrieb am 07.04.2010:

wurde der fehler welcher in den Kommentaren angesprochen wurde, im Text behoben?

Stefan Wienströer schrieb am 07.04.2010:

Das ist scho über 4 Monate her, ka^^ Aber ich meine in Erinnerung zu haben, dass es speziell an Daniels System lag. Wenn nicht, gibt's nen Bugfix-Beitrag dafür.

Lucas schrieb am 07.10.2011:

Hallo, Ich erhalte jetzt nach dem Upload immer die Fehlermeldung Parse error: syntax error, unexpected '{' in /mnt/web9/20/60/52388760/htdocs/mein-cms/system/classes/eventmanager.php on line 2 aber die Bilder sind da. Auch beim Seite bearbeiten kommt das.

Stefan Wienströer schrieb am 07.10.2011:

Was steht denn bei dir in system/classes/eventmanager.php bei Zeile 2?

Lucas schrieb am 07.10.2011:

Mein Rechner will grad nicht, aber ich weiss das dort die class geöffnet wird.