»  Pagina principala  »  PHP si mysql »  Script Afisare Aleatoare de Imagini

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

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 !?
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.
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...
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?!
15-Nov-2010 - 21:01


   Sugeti

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?
17-Dec-2010 - 03:55


   nightx

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 !
25-Mar-2011 - 09:29



Voteaza acest articol!
 



Trimite un comentariu!

Nume *
E-mail *
Comentariu *
  Vreau sa fiu anuntat de urmatoarele mesaje la acest articol

Security image

Cristian Bozeanu

Free Mini Games

Cloud tag

tutorial, photoshop, html, css, javascript, flash, php, mysql, grafica 3D, tutorial, coduri, scripturi, generator de coduri, cursuri php