Tutoriale WEB     [RO]  [EN]  
| HOME | Tutoriale | Stiri | SERVICII | Director | Unelte | FORUM | Despre | HARTA | Contact | CAUTA |
.....................................................
.....................................................
User happy birthdayAzi sarbatorim 1 zi de nastere.
(dannyb0y)
.....................................................
Autentificare
Inregistrare
Am uitat parola
.....................................................
.....................................................
Online
In total exista
6 vizitatori online,
dintre care:
6 sunt boti
.....................................................
Pune reclama ta aici
.....................................................
.....................................................
.....................................................
.....................................................
.
Home - Crearea unei galerii de imagini fara mysql

<< Snap to Objects si Snap Align   -   Grafuri in php >>
Voteaza acest articol (doar membrii)
1 2 3 4 5
A - A Anuntati pe aceasta cale administratorul site-ului pentru orice problema observata la aceasta pagina.  Printeaza pagina ca document PDF  Email  
Suntem interesati de parerea ta, te invitam sa completezi formularul de aici

Crearea unei galerii de imagini fara mysql


Data publicarii: 04-05-2011 - Copyright © Claudiu Gilcescu-Ceia

Ai dorit vreodată să creaţi o galerie foto care ar afişa fotografiile dintr-un folder de pe server, fără a lua efectiv căile imaginii dintr-o bază de date?

Ei bine, aici e un mic cod, care ar rezolva problema pentru tine şi ar genera căile de ieşire a imaginilor într-un XML cu următoarea structură:

COD:
<?xml version="1.0" encoding="utf-8"?>
<gallery>
   <item iPath="path/to/file1.jpg"/>
   <item iPath="path/to/file2.jpg"/>
</gallery>

Dacă aveţi întrebări cu privire la aceasta, sau întâmpinaţi probleme de punere în aplicare în propriul proiect, scrieţi un comentariu pe forum şi vă voi ajuta cum pot.

COD:
<?php
header("content-type:text/xml;charset=utf-8");

function getDirTree($dir,$p=true) {
   if (!is_dir($dir)) return false;
   $d = dir($dir);
   $x=array();
   while (false !== ($r = $d->read())) {
      if($r != "." && $r != ".." && (($p == false && is_dir($dir.$r)) || $p == true)) {
         $x[$r] = (is_dir($dir.$r) ? array() : (is_file($dir.$r) ? true : false));
      }
   }
   foreach ($x as $key => $value) {
      if (is_dir($dir.$key."/")) {
         $x[$key] = getDirTree($dir.$key."/", $p);
      }
   }
   ksort($x);
   return $x;
}

function parse($dir) {
   $tree = getDirTree($dir, true);

   if ($tree) {
      foreach ($tree as $k=>$v) {
         if (is_array($v)) {
            foreach ($v as $key=>$val) {
               if (!is_array($key)) {
                  if (substr($key,-4)==='.jpg') {
                     echo '<item iPath="'.$key.'"/>';
                  }
                  else {
                     if (is_array($val)) {
                        parse($dir.$k."/");
                     }
                  }
               }
            }
         }
      }
   }
   return false;
}

echo '<?xml version="1.0" encoding="utf-8"?>
<gallery>';
parse('repository/');
echo '</gallery>';
?>

Codul ar putea conţine încă unele "artefacte" de la teste şi astfel vă rugăm să le ştergeţi dacă le găsiţi, oricum codul funcţionează deci nu vă faceţi griji.

Codul din acest articol este distribuit sub licenta MIT licence

Puteti vizita site-ul autorulul la blog.hazardousgaming.info

Data publicarii: 04-05-2011 - Copyright © Claudiu Gilcescu-Ceia   
Apasati aici daca doriti sa vedeti alte articole de acelasi autor
Nu exista comentarii la acest articol. Fii primul care isi spune parerea.

Adauga un comentariu la acest articol (doar pentru membri autentificati pe site):
Aplicatie de facturare, chitantier, rapoarte contabile