Jump to content
xt:Commerce Community Forum

Fehler im Artikel-Bilder Dateiupload - Dateien mit '.'


melahn

Recommended Posts

Veyton 4.0.14

Werden in der Artikel-Bildbearbeitung Bilder hochgeladen, die z.B. heißen "15.022_9.jpg", so werden die Bilder zwar in den Datenbanktabellen richtig eingetragen, aber die Datei heißt im Verzeichnis media/images/org/ "15.022_9".

Also hier wir alles nach dem ersten Punkt als Endung betrachtet (und weitere Endungen abgeschnitten).

Folglich kann dann das Bild weder per Imageprocess aufbereitet und schon mal gar nicht angezeigt werden.

Sieht für mich wie ein klarer Programmfehler (=Bug) aus?

Kann jemand dieses Fehlerverhalten bestätigen?

Link to comment
Share on other sites

Danke für die schnelle Rückantwort.

Hast Du die Stelle im Sourcecode, wo ich da ansetzen kann um mir das mal anzuschauen.

Um einen Überblick über die ca. 20.000 Bilder zu behalten, heißen die Bilder genauso wie die Artikel-Nr. (products_model). Und die Artikel-Nr. sind wieder von den Herstellern vorgegeben (und die verwenden leider auch Punkte).

Link to comment
Share on other sites

Der Bug ist in der class.FileHandler.php zu finden bei der funktion "public function cleanFileName($file){"

Original


$file_array = explode('.', $file);
$file_name = $file_array[0];
$file_ext = $file_array[1];
[/PHP]

Hier die korrekte Lösung um auch Bilder mit einem "." Punkt uploaden zu können:

[PHP]
$pos = strrpos($file,".");

$file_name = substr($file,0,$pos);
$file_ext = substr($file,$pos+1,strlen($file)-$pos);
[/PHP]

Viele Grüße

Alois

Link to comment
Share on other sites

Alois, vielen Dank das ist fast die Lösung ...

drei Zeilen weiter habe ich noch eine Reg Ex entdeckt, die dort nicht aufgeführte Zeichen entfernt. Da muss der "." noch als gültiges Zeichen rein.

Soweit getestet und scheint okay!

alt:

$validFileName 	= preg_replace("/[^a-z0-9A-Z-\/-_]/i", "", $validFileName);[/PHP]

neu

[PHP]$validFileName = preg_replace("/[^a-z0-9A-Z-\/\.-_]/i", "", $validFileName);[/PHP]

Irgendeine Chance das diese Änderung in den regulären Veyton Code einfließt und beim nächsten Update damit erhalten bleibt?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...