Dateinamen aufsplitten und mit Nullen auffüllen

Moritz123

Erfahrenes Mitglied
Hallo!

ich habe folgendes kleines Problem:
Für einen OnlineShop erhalte ich von einem Zulieferer eine CSV-Datei mit den Artikeldaten sowie eine Zip-Datei mit den zugehörigen Artikelbildern.
Um die CSV in meinen Shop einzupflegen, muss ich sie vorher umschreiben, was ein PHP-Script erledigt. Nun möchte ich gerne ein weiteres Feld mit dem Pfad zum Artikelbild einfügen, was mir auf Grund der vorgegebenen Ordnerstruktur zu schwierig ist, bzw wo ich Hilfe brauche.

Ein Beispiel:
Die Bildnamen sind immer analog zur Artikelnummer des entspr. Artikels.

Beispiel 1:
Artikelnummer: 17836
Pfad zum Artikelbild: /001/00178/0017836.jpg

Beispiel 2:
Artikelnummer: 294483
Pfad zum Artikelbild: /029/02944/0294483.jpg

Nun zur Frage:
Wie kann ich aus der Artikelnummer oa. Pfad- und Dateinamen generieren?
 
PHP:
function convertArtNr($artikelnummer) {
  if(strlen($artikelnummer) < 7) {
    $diff = 7 - strlen($artikelnummer);
    $neueArtikelnummer = "";
    for($i=0; $i<$diff; $i++) {
      $neueArtikelnummer .= "0";
    }
    $neueArtikelnummer .= $artikelnummer;
    return $neueArtikelnummer    
}
So und dann halt
PHP:
$art = converArtNr($artikelnr);
$pfad = substr($art,0,3)."/".substr($art,0,5)."/".$art.".jpg";
 
Hallo!

vielen Dank für die Funktion! Werd es gleich mal ausprobieren. Fände es noch toller, wenn du ein paar erklärende Worte dazu posten würdest - ich will ja schließlich auch was lernen ;)
 
Mein Vorschlag:
PHP:
<?php

	$tmp = sprintf('%07u', 17836);
	echo sprintf(
		'/%03u/%05u/%07u.jpg',
		substr($tmp, 0, 3),
		substr($tmp, 0, 5),
		substr($tmp, 0, 7)
	);

?>
 
Zuletzt bearbeitet:
Zurück