Bonjour,

Je pensais avoir la solution à un problème grâce à une réponse sur le forum , mais je me suis rendu que cette solution avait ses limites. En effet, le code qui suit me convient bien jusqu'à la valeur 99, au delà, ça ne colle plus car je me retrouve avec une chaîne à 6 chiffres, hors elle devrait toujours être de 5 chiffres.

    for ($i = 1; $i <= $numbfiles; $i++) {
    $img[$i] = ["url" => ROOT_LIEN . '0000' . $i . '.jpg', "urlt" =>        ROOT_LIEN . '0000' . $i . '-thumb.jpg'];

Quelqu'un a une idée ? (sachant que mes fichiers jpg doivent impérativement être formaté comme suit : 00001.jpg et 00001-thumb.jpg)

Merci par avance !

:-)

5 réponses


skp
Réponse acceptée

Bonjour, tu peux essayer avec ça :

for ($i = 1; $i <= $numbfiles; $i++) 
{
    $monNombre = sprintf("%'05d", $i);
    $img[$i] = ["url" => ROOT_LIEN . $monNombre . '.jpg', "urlt" =>        ROOT_LIEN . $monNombre . '-thumb.jpg'];
 }

Bonjour,
je pense que ceci devrait faire l'affaire ( a la place de '0000' . $i)

function cinqChiffre($number)
{
    $length = strlen((string) $nombre);
    $final = '';
    for($i =0; $i< (5-$length); i++)
    {
        $final .= '0';
    }
    return $final . $nombre;
}

Edit: merci pour l'erreur ^^ c'est corrigé

On dirait que ton script comporte une erreur mais je ne parviens pas à la situer...

Ah, vu, il manque des $ à i.

Hey, super cette fonction sprintf, je ne connaissais pas. Merci à toi ! :-)