FAQ
hola a todos, tengo un problema con un pequeño script, estoy
utilizando la funcion rand() para generar un ciclo aleatorio, el cual
tiene limites de 1 a 20.

la cuestion es que comparo la posicion del rand() y lo muestro con el
numero de la imagen dentro de una carpeta.
la cuestion aqui es que el rand() solo me genera numeros de 1,2,3 a
20, pero yo necesito que me genere algo como 01, 02, 03 .... 20. ya
que las imagenes estan nombradas como imagen01, imagen02, imagen03....
imagen20.
existe alguna forma de hacer que rand muestre los numeros del 1 al 9
con 0 delante.

un saludo!

aqui pongo el codigo para que vean de que hablo

<?php

$images = 20; //número de imágenes
$path = array("galerias/pictures01/","galerias/pictures02/","galerias/pictures03/","galerias/pictures04/","galerias/pictures05/","galerias/pictures06/");

$random = rand(01,$images); //Generamos un número aleatorio
echo "<img src=\"".$path[0]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
echo "<img src=\"".$path[1]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
echo "<img src=\"".$path[2]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
echo "<img src=\"".$path[3]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
echo "<img src=\"".$path[4]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
echo "<img src=\"".$path[5]."imagen".$random.".jpg\" width=\"120\"
height=\"120\" alt=\"Preview\" />";
?>



--
LeedsutdsmaN(R)

Search Discussions

  • Rolan Benavent at Feb 1, 2008 at 4:22 pm
    Hola Jonathan,
    prueba con esto:

    $random = sprintf("%02d",rand(01,$images));

    y todo solucionado... y si quieres saber un poco más, mira aqui:

    http://es2.php.net/manual/es/function.sprintf.php

    Saludos,

    Rolan.


    Jonathan C. escribió:
    hola a todos, tengo un problema con un pequeño script, estoy
    utilizando la funcion rand() para generar un ciclo aleatorio, el cual
    tiene limites de 1 a 20.

    la cuestion es que comparo la posicion del rand() y lo muestro con el
    numero de la imagen dentro de una carpeta.
    la cuestion aqui es que el rand() solo me genera numeros de 1,2,3 a
    20, pero yo necesito que me genere algo como 01, 02, 03 .... 20. ya
    que las imagenes estan nombradas como imagen01, imagen02, imagen03....
    imagen20.
    existe alguna forma de hacer que rand muestre los numeros del 1 al 9
    con 0 delante.

    un saludo!

    aqui pongo el codigo para que vean de que hablo

    <?php

    $images = 20; //número de imágenes
    $path = array("galerias/pictures01/","galerias/pictures02/","galerias/pictures03/","galerias/pictures04/","galerias/pictures05/","galerias/pictures06/");

    $random = rand(01,$images); //Generamos un número aleatorio
    echo "<img src=\"".$path[0]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[1]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[2]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[3]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[4]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[5]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    ?>


    --
    Rolan Benavent
    Dulasoft, s.l.
    info@dulasoft.com
    *PCMark3t.com*, tu tienda de informática en internet
    <http://www.pcmark3t.com>
    *Dulasoft.com*: consultoría informática, diseño gráfico, programación de
    páginas web y aplicaciones de software, montaje de redes, formación a
    empresas y particulares... <http://www.dulasoft.com>
  • SkuNk at Feb 1, 2008 at 4:28 pm
    También puedes utilizar str_pad[1], que es más específica para este tipo de
    tratamientos, en tu caso sería:

    $random = str_pad($random, 2, 0, STR_PAD_LEFT);

    [1] http://es2.php.net/str_pad

    --
    Atentamente,
    Philipp Keweloh

    El día 1/02/08, Rolan Benavent <info@dulasoft.com> escribió:
    Hola Jonathan,
    prueba con esto:

    $random = sprintf("%02d",rand(01,$images));

    y todo solucionado... y si quieres saber un poco más, mira aqui:

    http://es2.php.net/manual/es/function.sprintf.php

    Saludos,

    Rolan.


    Jonathan C. escribió:
    hola a todos, tengo un problema con un pequeño script, estoy
    utilizando la funcion rand() para generar un ciclo aleatorio, el cual
    tiene limites de 1 a 20.

    la cuestion es que comparo la posicion del rand() y lo muestro con el
    numero de la imagen dentro de una carpeta.
    la cuestion aqui es que el rand() solo me genera numeros de 1,2,3 a
    20, pero yo necesito que me genere algo como 01, 02, 03 .... 20. ya
    que las imagenes estan nombradas como imagen01, imagen02, imagen03....
    imagen20.
    existe alguna forma de hacer que rand muestre los numeros del 1 al 9
    con 0 delante.

    un saludo!

    aqui pongo el codigo para que vean de que hablo

    <?php

    $images = 20; //número de imágenes
    $path =
    array("galerias/pictures01/","galerias/pictures02/","galerias/pictures03/","galerias/pictures04/","galerias/pictures05/","galerias/pictures06/");
    $random = rand(01,$images); //Generamos un número aleatorio
    echo "<img src=\"".$path[0]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[1]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[2]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[3]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[4]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[5]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    ?>


    --

    Rolan Benavent
    Dulasoft, s.l.
    info@dulasoft.com *PCMark3t.com*, tu tienda de informática en internet
    <http://www.pcmark3t.com>
    *Dulasoft.com*: consultoría informática, diseño gráfico, programación de
    páginas web y aplicaciones de software, montaje de redes, formación a
    empresas y particulares... <http://www.dulasoft.com>


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Jonathan C. at Feb 1, 2008 at 4:35 pm
    Gracias a todos, he probado ambos ejemplos y han funcionado bien,
    supongo que me quedare con este ultimo, el de str_pad, aunque el de
    sprintf es bastante sencillo y funciona igual.

    un saludo!

    El 1/02/08, SkuNk <skunk1@gmail.com> escribió:
    También puedes utilizar str_pad[1], que es más específica para este tipo de
    tratamientos, en tu caso sería:

    $random = str_pad($random, 2, 0, STR_PAD_LEFT);

    [1] http://es2.php.net/str_pad

    --
    Atentamente,
    Philipp Keweloh

    El día 1/02/08, Rolan Benavent <info@dulasoft.com> escribió:
    Hola Jonathan,
    prueba con esto:

    $random = sprintf("%02d",rand(01,$images));

    y todo solucionado... y si quieres saber un poco más, mira aqui:

    http://es2.php.net/manual/es/function.sprintf.php

    Saludos,

    Rolan.


    Jonathan C. escribió:
    hola a todos, tengo un problema con un pequeño script, estoy
    utilizando la funcion rand() para generar un ciclo aleatorio, el cual
    tiene limites de 1 a 20.

    la cuestion es que comparo la posicion del rand() y lo muestro con el
    numero de la imagen dentro de una carpeta.
    la cuestion aqui es que el rand() solo me genera numeros de 1,2,3 a
    20, pero yo necesito que me genere algo como 01, 02, 03 .... 20. ya
    que las imagenes estan nombradas como imagen01, imagen02, imagen03....
    imagen20.
    existe alguna forma de hacer que rand muestre los numeros del 1 al 9
    con 0 delante.

    un saludo!

    aqui pongo el codigo para que vean de que hablo

    <?php

    $images = 20; //número de imágenes
    $path =
    array("galerias/pictures01/","galerias/pictures02/","galerias/pictures03/","galerias/pictures04/","galerias/pictures05/","galerias/pictures06/");
    $random = rand(01,$images); //Generamos un número aleatorio
    echo "<img src=\"".$path[0]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[1]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[2]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[3]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[4]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    echo "<img src=\"".$path[5]."imagen".$random.".jpg\" width=\"120\"
    height=\"120\" alt=\"Preview\" />";
    ?>


    --

    Rolan Benavent
    Dulasoft, s.l.
    info@dulasoft.com > *PCMark3t.com*, tu tienda de informática en internet
    <http://www.pcmark3t.com>
    *Dulasoft.com*: consultoría informática, diseño gráfico, programación de
    páginas web y aplicaciones de software, montaje de redes, formación a
    empresas y particulares... <http://www.dulasoft.com>


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php

    --
    LeedsutdsmaN(R)

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedFeb 1, '08 at 4:13p
activeFeb 1, '08 at 4:35p
posts4
users3
websitephp.net

People

Translate

site design / logo © 2022 Grokbase