[PHP] Aiuto su visualizza foto da cartella

Claudia1

Nuovo Utente
9 Giu 2015
14
0
1
Buongiorno,
Ho scaricato uno script che serve per visualizzate foto da cartella, ho chiesto all'autore se si poteva aggiungere sotto a ogni foto la data dell'ultima modifica ma non mi ha mai risposto.
Chiedo a voi se e' possibile visto che con PHP non sono afferato.
Allego lo script:
PHP:
<?
function elencaimg($nome_directory,$array_estensioni_ammess e){
$array_immagini=Array();
if(file_exists($nome_directory)){
$handle = opendir($nome_directory);
while (false !== ($file = readdir($handle))) {
if(is_file($nome_directory.$file)){
$estensione = strtolower(substr($file, strrpos($file, "."), strlen($file)-strrpos($file, ".")));
if(in_array($estensione,$array_estensioni_ammesse) ){
array_push($array_immagini,$file);
}
}
}
$handle = closedir($handle);
}
shuffle($array_immagini); //mescola ordine array in modo casuale
return $array_immagini;

}

$array_estensioni_ammesse=array('.jpg','.jpeg','.g if','.png');
$nome_directory="immagini/";
$array_immagini=elencaimg($nome_directory,$array_e stensioni_ammesse);
$elementi_da_visualizzare="3"; //se si vogliono visualizzare tutte le immagini contenute nella cartella: $elementi_da_visualizzare=count($array_immagini);
for($a=0;$a<$elementi_da_visualizzare;$a++){
?>
<img src="<?=$nome_directory.$array_immagini[$a]?>" width="118" height="78" border="0"><br>
<?
}
?>

Grazie .
 
Ultima modifica di un moderatore:
ciao
usa la funzione glob abbinata con l'array_merge
PHP:
<?php
$dir="immagini/";
//glob estrai tutti i file indicati dalla cartella e con array_merge faccio un unico array
$immagini=array_merge(glob($dir."*.jpg"),glob($dir."*.jpeg"),glob($dir."*.gif"),glob($dir."*.png"));
$quante_immagini=count($immagini);//se devo visualizzarle tutte
for($k=0; $k<4;$k++){
    echo "<img src='".$immagini[$k]."' width='550' height='44'>";
}
?>
poi non usare lo short tag php <? ma <?php

p.s.
quando scrivi del codice usa gli appositi bccode
 
Ultima modifica:
per ricavare l'ultima modifica basta metterci questo codice
PHP:
date ("d m Y H:i:s.", filemtime($immagini[$k]))
utilizzando il codice suggerito da Borgo..

completo:
PHP:
<?php
$dir="immagini/";
//glob estrai tutti i file indicati dalla cartella e con array_merge faccio un unico array
$immagini=array_merge(glob($dir."*.jpg"),glob($dir."*.jpeg"),glob($dir."*.gif"),glob($dir."*.png"));
$quante_immagini=count($immagini);//se devo visualizzarle tutte
for($k=0; $k<4;$k++){
    echo "<br><img src='".$immagini[$k]."' width='550' height='44'><br> ultima modifica ".date ("d m Y H:i:s.", filemtime($immagini[$k]));
}
?>
 
ciao
scusa dimenticavo (otre alla data) un'altra cosa, ho scritto
...width='550' height='44'....
ma guarda che è un esempio.
o usi i css
...id='pinco_pallo'.... o class=
o ti ricavi in una variabile h e w dell'immagine e le usi
PHP:
<?php
//.....
for($k=0; $k<4;$k++){
    list($width, $height, $type, $attr) = @getimagesize($immagini[$k]);
    echo "<br><img src='".$immagini[$k]."' width='".$width."' height='".$height."'><br> ultima modifica ".date ("d m Y H:i:s.", filemtime($immagini[$k]));
}
?>
 
secondo me vai oltre così Borgo eheh
se no gli da un max-width e si auto adatta, se no in quel metodo da te postato tanto vale evitare width e height tanto viene mostrata al 100% della dimensione senza specificare nulla
 
ciao
infatti ho suggerito l'uso dei css, o se uno vuole che l'immagine abbia le dimensioni originali e non il 100% es per un sito non responsive
 

Discussioni simili