[Tutorial Design]Script Afisare Aleatoare de Imagini

#1
Nume Tutorial:Script Afisare Aleatoare de Imagini
Descriere: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.
Download:-
Autor:Anonim.
Sursa (Link-ul oficial):etutoriale.ro
Propria parere:Nu l-am incercat.
Tutorialul:
Tot ceea ce codul PHP va transmite browser-ului va fi asemanator urmatoarea secventa HTML:

Cod: Selectaţi tot

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

Cod: Selectaţi tot

[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

Cod: Selectaţi tot

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

Cod: Selectaţi tot

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

Înapoi la “Design si WebSite Review”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator