Afisare imagine random

In jos

Afisare imagine random

Mesaj Scris de EST-Zone la data de Mar Dec 30, 2008 5:16 am

Afisare imagine random











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:
http://URL.ro" title="TITLUl">IMG/IMAGINE.jpg" alt="imaginea" width=" x " height=" x " />

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

Aici am adaugat trei imagini. Pentru a adauga o noua imagine trebuie sa
scrieti pur si simplu inca o categorie respectand modelul de mai sus.
La stergere este tot asa de simplu.

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




// 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(
'',
$imagini[$img]['url'],
$imagini[$img]['title']
);
}
// scrie si tag-ul pt imagine
printf(
'',
$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('
');
}
}


?>

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
include('rotire.php');
?>



Reincarca pagina pentru a vedea o alta imagine







sursa
etutoriale

_________________

Ev1Lb1z is your life
avatar
EST-Zone
Fondator
Fondator

Numarul mesajelor : 596
Varsta : 23
Ce photoshop folosesti? : cs3
WarN :
0 / 1000 / 100

Puncte Castigate :
35 / 10035 / 100

Verifica-ti Cunostintele (PUNCTE) :
0 / 1000 / 100

Data de inscriere : 26/08/2008

Vezi profilul utilizatorului http://evogfx.4umer.com

Sus In jos

Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum