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.tutorialehtml.com/html
[title] => Etutoriale-html
)
[a-doua] => array (
[src] => img/4.jpg
[alt] => tutoriale php
[url] => http://etutoriale.tutorialehtml.com/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.tutorialehtml.com title = Etutoriale-html [a-doua] src = img/4.jpg alt = tutoriale php url = http://etutoriale.tutorialehtml.com title = Etutoriale-php [a-treia] src = img/5.jpg alt = tutoriale css url = http://etutoriale.tutorialehtml.com 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
Comentarii
Birta
Am incercat acest articol dar la mine nu merge i-mi da eroare dupa incarcarea scriptului in index.php !?
Am incercat acest articol dar la mine nu merge i-mi da eroare dupa incarcarea scriptului in index.php !?
24-Jun-2010 - 19:26
cristian
codul scris aici pentru imagini aleatoare este acelasi cu cel folosit pentru exemplu, care merge. Incearca sa postezi si eroarea pe care o primesti, da mai multe detalii.
codul scris aici pentru imagini aleatoare este acelasi cu cel folosit pentru exemplu, care merge. Incearca sa postezi si eroarea pe care o primesti, da mai multe detalii.
25-Jun-2010 - 08:27
Elena
Am incercat si eu exemplul. Am urmat pas cu pas indicatiile si imi spune ca nu gaseste fisierul de configurare... dar l-am salvat exact cum ati zis, poate e o eroare la script...
Am incercat si eu exemplul. Am urmat pas cu pas indicatiile si imi spune ca nu gaseste fisierul de configurare... dar l-am salvat exact cum ati zis, poate e o eroare la script...
15-Nov-2010 - 13:14
Cristian
O sa pun un link de download pentru script cu tot cu exemplu.
Totusi, sigur ai in acelasi folder cu scriptul un fisier numit images.ini?!
O sa pun un link de download pentru script cu tot cu exemplu.
Totusi, sigur ai in acelasi folder cu scriptul un fisier numit images.ini?!
15-Nov-2010 - 21:01
Sugeti
caratistu2010@yahoo.com - sunt idiot
caratistu2010@yahoo.com - sunt idiot
20-Nov-2010 - 08:21
MrRed
salut
nu ma pricep prea bine in php nici html...
dar totusi am o intrebare daca am un site (html) pot adauga acest script pe siteul meu?
salut
nu ma pricep prea bine in php nici html...
dar totusi am o intrebare daca am un site (html) pot adauga acest script pe siteul meu?
17-Dec-2010 - 03:55
nightx
da. toata treaba e ca hostingul sa suporte PHP
da. toata treaba e ca hostingul sa suporte PHP
18-Dec-2010 - 22:25
z3nc0de
Tutorialul merge perfect ! Problema la voi este cred ca nu ati pus imaginile in folderul img ! Faceti un folder img si acolo puneti imaginile 3.jpg , 4.jpg , 5.jpg si asa mai departe ! Atentie ! Formatul pozei trebuie sa fie .jpg dacai alt format schimbati in images.ini formatul !
Tutorialul merge perfect ! Problema la voi este cred ca nu ati pus imaginile in folderul img ! Faceti un folder img si acolo puneti imaginile 3.jpg , 4.jpg , 5.jpg si asa mai departe ! Atentie ! Formatul pozei trebuie sa fie .jpg dacai alt format schimbati in images.ini formatul !
25-Mar-2011 - 09:29
Voteaza acest articol!
Trimite un comentariu!