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


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

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