Crearea unei galerii de imagini fara mysql
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 ![]()
Puteti vizita site-ul autorulul la blog.hazardousgaming.info
| Nu exista comentarii la acest articol. Fii primul care isi spune parerea. |





