Script Afisare Aleatoare de Imagini
Un astfel de script poate fi folositor atat pentru a face ca site-ul tau sa para mai nou si in continua schimbare, lucru care iti poate creste numarul de vizitatori, dar si pentru a afisa bannere ale site-urilor partenere.
Pentru a putea modifica scriptul pe care-l voi prezenta in continuare trebuie sa stiti cate ceva despre lucrul cu array-uri in php. (daca e vorba de modificari importante).
Pentru a schimba setul de imagini nu trebuie decat sa fiti putin atenti.
Tot ceea ce codul PHP va transmite browser-ului va fi asemanator urmatoarea secventa HTML:
<a href="http://URL.ro" title="TITLUl"><img src="IMG/IMAGINE.jpg" alt="imaginea" width=" x " height=" x " /></a> |
Singurele diferente vor fi la ce e scris cu rosu. Vom avea posibilitatea sa atribuim fiecarei imagini URL-ul, TITLU, CALEA, ALT. Dimensiunile le va interpreta scriptul pentru fiecare imagine in parte.
Pentru a putea lua imaginile random, o sa avem nevoie de un array de forma celui de mai jos:
Array(
[prima] => array (
[src] => img/3.jpg
[alt] => tutoriale html
[url] => http://etutoriale.ro/html
[title] => Etutoriale-html
)
[a-doua] => array (
[src] => img/4.jpg
[alt] => tutoriale php
[url] => http://etutoriale.ro/php
[title] => Etutoriale-php
)
)
Intr-un array de forma acestuia vor fi introduse datele imaginilor. Mai sus avem 2 imagini dar se pot adauga cu usurinta mai multe. Problema este ca pentru a se adauga sau sterge o poza trebuie sa facem modificari in acest array, iar acest lucru s-ar putea sa nu fie chiar usor de facut. Pentru cei care nu stiu sa lucreze cu array-uri am considerat ca este mai simplu sa folosesc un fisier de configurare exterior, un fisier .ini. Astfel, pentru a adauga, sterge sau modifica o poza care doriti sa fie inclusa in lista nu trebuie sa modificati fisierul .ini. Iata cum va arata array-ul de mai sus in fisierul images.ini:
[prima] src = img/3.jpg alt = tutoriale html url = http://etutoriale.ro title = Etutoriale-html [a-doua] src = img/4.jpg alt = tutoriale php url = http://etutoriale.ro title = Etutoriale-php [a-treia] src = img/5.jpg alt = tutoriale css url = http://etutoriale.ro title = Etutoriale-CSS |
Acum, ca avem fisierul in care se introduc datele imaginilor care dorim sa fie afisate aleator la fiecare incarcare a paginii, sa scriem si fisierul PHP. Acesta trebuie in primul rand sa ia datele din fisierul .ini si sa le treaca intr-un array ($image). Pentru a putea sa afiseze la intampare o imagine se introduce variabila $img , care extrage aleator din array un element.
Rotire.php
<?php // fisierul .ini de configurare $FISIER_CONFIG= 'images.ini'; // facem o functie care sa afiseze imaginile function ImagineAleatoare() { global $FISIER_CONFIG; $ini_file = $FISIER_CONFIG; // citim si trecem fisierul de configurare intr-un array multidimensional $imagini = @parse_ini_file($ini_file,true); // daca in loc de true era trecut 'false' array-ul avea doar 2 dimensiuni if (! $imagini) { die('nu gasim fisierul de configurare.'); } // alege o imagine aleatoare din fisierul de config $img = array_rand($imagini); // citeste si atribuie intr-un array dimensiunile imaginii $size = @getimagesize( $imagini[$img]['src'] ); // daca a fost specificat un URL deschide tag-ul pt url in care trece URL-ul si TITLE if ( $imagini[$img]['url'] ) { printf( '<a href="%s" title="%s">', $imagini[$img]['url'], $imagini[$img]['title'] ); } // scrie si tag-ul pt imagine printf( '<img src="%s" alt="%s" %s />', $imagini[$img]['src'], $imagini[$img]['alt'], $size[3] ); //dimensiunile sunt pe pozitia 3 in array-ul size // inchide tag-ul pt URL if ( $imagini[$img]['url'] ) { echo('</a>'); } } ?> |
Fisierul rotire.php, deschis in browser, nu face nimic. Pentru asta trebuie sa chemam functia ImagineAleatoare( ). Vom face asta acolo unde avem nevoie de ea. Iata cum se adreseaza:
Index.php
<?php include('rotire.php'); ?> <html> <head><title>afisare imagini</title></head> <body> <h1> Reincarca pagina pentru a vedea o alta imagine </h1> <br> <?php ImagineAleatoare(); ?> </body> </html> |
Exemplu
Articole asemanatoare
» Upload de fisiere cu PHP