dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010
-
8 sept. 2006 à 19:18
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010
-
27 sept. 2006 à 18:46
Bonjour a tous,
Voila je débute toujours en php, j'ai déja réaliser quelque petit truc plus ou moins complexe grace a votre aide direct ou indirect via vos sources. Là en ce moment je me familiarise avec la manipulation de dossier et de fichier en php, enfin j'essai :)
Ma question est la suivante, j'aimerais retrouver les 15 dernières images ajouter sur le site (pas de mysql) afin de placer le chemin permettant de les afficher dans un fichiers a part prévus a cet effet !!!!! J'espère que vous avez compris.
Si quelqu'un a une idée, ou connaitrait une source qui m'aurais échapper, merci d'avance.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 sept. 2006 à 01:38
hello,
quand tu parcours ton répertoire d'upload, t peux utiliser la fonction filemtime () qui te donnera la date de modification d'un fichier.
Si tu stockes tout les fichiers et cette date dans un tableau, tu peux ensuite le trier, et ressortir les 15 images les plus récentes.
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010 24 sept. 2006 à 16:47
Bonjour,
Bon j'ai un peu laissé tomber jusqu'a maintenant par manque de temps, on en est tous là. Mais j'vais 5 minutes aujourd'hui et je regardais un pour voir comment procéder a ma recherche des 15 dernières images.
Je suis tomber sur se scripts sur le site http://www.phpcs.com/codes/COMPTAGE-FICHIERS_24068.aspx et je pense pouvoir repartir de là pour faire mon bonheur. Plutôt que de compter les fichiers ayant la bonne extension, je placerais le chemin d'accès et la date avec filemtime (). Pour faire comme dit malalam.
Je suppose que je vais y arriver. Je dois encore un peu bosser mes array. Tiens une question tout de même, il n'existe pas de fonction que permette le tri par date ? ou si ?
Si vous avez des conseils vis a vis de mon point de départ, je suis tout ouie.
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010 24 sept. 2006 à 20:55
Bon pour le Tri c'était une bête question puisque les date reprise via cette fonction nous donne le nombre de seconde depuis je sais plus quand en 1970. Donc c'est une valeur chiffrer, il suffira de regarder qui sont les 15 plus grandes.
Mon vrai problème se sont les array(). Dans l'exemple que j'ai pris comme point de départ il ne fait qu'afficher le chemin des fichiers ce qui est relativement simple (je dis bien relativement, j'y aurais pas penser tout seul). Mais le problème ce que moi je dois mettre a chaque fois le chemin et la date (donc un array) dans un autre array reprenant l'ensemble des fichiers. Là ou j'en perd mon latin c'est ou on appelle la fonction elle-même en elle (si je peux dire) et la je retourne un array contenant mes arrays dans un arrays, si vous voyer ce que je veux dire ??? non? cela tombe bien moi non plus, je crois que je vais aller dormir j'y verrais peut être plus clair un autre jour.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 sept. 2006 à 08:10
tu concatènes, par exemple, le timestamp obtenu avec filemtime, et le nom du fichier (obtenu avec basename($sFichier)). Ainsi, tu peux tout mettre dans un tableau simple, et trier facilement puisque les valeurs du tableau commencent par un entier (le timestamp).
Vous n’avez pas trouvé la réponse que vous recherchez ?
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010 26 sept. 2006 à 18:49
Bon pour faire mes testes je suis passer par le système avec la concatenation, mais une fois le système ok, je suis repasser avec le tableau multi. Donc voici le résultat, c'est surement pas top pour un gars qui s'y connais mais bon pour moi, en l'état actuel c'est fonctionnel :)
Voici mon code :
<?php
function search_files($folder, $ext, $subfolders)
{
$tab = array(); $i=0;
// on rajoute le / à la fin du nom du dossier s'il ne l'est pas
if(substr($folder, -1) != '/') $folder .= '/';
// $ext est un tableau?
$array = false;
if(is_array($ext)) $array = true;
// ouverture du répertoire
$rep = @opendir($folder);
if($rep)
{
// tant qu'il y a des fichiers
while($file = readdir($rep))
{
// répertoires . et .. if($file '.' || $file '..')
continue;
// si c'est un répertoire et qu'on peut le lister
if(is_dir($folder.$file) && $subfolders)
{
// on appelle la fonction
$res = search_files($folder.$file, $ext, 1);
$u=0;
if($res)
{
$nbr = count($res);
for($u=0;$u<$nbr;$u++)
{
$tab[$i] = $res[$u]; $i++;
}
}
}
// vérification de l'extension avec $array = 0
else if(!$array && substr($file, -strlen($ext)) == $ext)
{
$tab[$i] = array(filemtime($folder.$file), $folder.$file);
$i++;
}
// vérification de l'extension avec $array = true
else if($array && in_array(substr($file, strrpos($file, '.') + 1), $ext))
{
$tab[$i] = array(filemtime($folder.$file), $folder.$file);
$i++;
}
}
}else echo 'Impossible d\'ouvrir le répertoire';
// fermeture du rep
closedir($rep);
return $tab;
}
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010 26 sept. 2006 à 21:33
Bon voila je suis parvenu a récuperer mes 15 dernières photos du site (en tout cas leur chemin) maintenant ne me restera plus qu'a arriver a ce que mon animation flash puisse venir les chercher si je puis dire.
<?php
function search_files($folder, $ext, $subfolders)
{
$tab = array(); $i=0;
// on rajoute le / à la fin du nom du dossier s'il ne l'est pas
if(substr($folder, -1) != '/') $folder .= '/';
// $ext est un tableau?
$array = false;
if(is_array($ext)) $array = true;
// ouverture du répertoire
$rep = @opendir($folder);
if($rep)
{
// tant qu'il y a des fichiers
while($file = readdir($rep))
{
// répertoires . et .. if($file '.' || $file '..')
continue;
// si c'est un répertoire et qu'on peut le lister
if(is_dir($folder.$file) && $subfolders)
{
// on appelle la fonction
$res = search_files($folder.$file, $ext, 1);
$u=0;
if($res)
{
$nbr = count($res);
for($u=0;$u<$nbr;$u++)
{
$tab[$i] = $res[$u]; $i++;
}
}
}
// vérification de l'extension avec $array = 0
else if(!$array && substr($file, -strlen($ext)) == $ext)
{
$tab[$i] = array(filemtime($folder.$file), $folder.$file);
$i++;
}
// vérification de l'extension avec $array = true
else if($array && in_array(substr($file, strrpos($file, '.') + 1), $ext))
{
$tab[$i] = array(filemtime($folder.$file), $folder.$file);
$i++;
}
}
}else echo 'Impossible d\'ouvrir le répertoire';
// fermeture du rep
closedir($rep);
return $tab;
}
dth_2003
Messages postés23Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention19 septembre 2010 27 sept. 2006 à 18:46
Heu ...... attend là, je te suis plus !!! CURL c'est bien de libcurl que tu parle ou d'autre chose ? je connais pas trop le principe de s'te bazard. Je pensais appeller mon script PHP via mon animation via un loadvar, ou un truc comme ça.
Sinon, tu pourrais détailler un peu ton idée, j suis friand ds nouvelle choses !