SCRIPT AFISARE ALEATOARE DE IMAGINI

Vezi subiectul anterior Vezi subiectul urmator In jos

SCRIPT AFISARE ALEATOARE DE IMAGINI

Mesaj  Admin la data de Mar Mai 17, 2011 7:16 am

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:

[color=orange]Array(
[prima] => array (

[a-doua] => array (


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
<?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>

Admin
Admin
Admin

Mesaje : 51
Data de inscriere : 15/05/2011

http://utile.forumgratuit.ro

Sus In jos

Vezi subiectul anterior Vezi subiectul urmator Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum