Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2007, 02h17   #1
En attente de confirmation mail
 
Inscription : octobre 2003
Messages : 1 249
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 1 249
Points : 261
Points : 261
Par défaut Lister les images d'un répertoire et les renommer

bonjour,

j'ai trouvé ce script pour lister les fichiers d'un repertoire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Création du tableau qui va contenir les fichiers et dossiers
$files = array();
 
// Ouverture du répetoire courant
// Pour le changer utiliser chdir() avant opendir()
$handle = opendir(".");
 
// Parcours des fichiers et dossiers du répertoire courant
while($file = readdir($handle)) {
    if($file != "." && $file != "..") {
        $files[] = $file;
    }
}
 
// Fermeture du répertoire courant
closedir($handle);
 
// Tri du tableaunat
sort($files);
 
// Affichage des fichiers et dossiers triés
foreach($files as $v) {
    echo $v . "<br />";
}
?>
=> est-ce la meilleure methode pour lister les fichiers et repertoire d'un dossier ?

je voudrais aussi lister juste les fichiers .jpg : quelle est la meilleur methode ?

Le nom de mes fichiers se presente sous cette forme XXX_0001.JPG (XXX étant une chaine de caractère variable et 0001 pouvant etre un nombre entre 0001 et 9999) => comment faire pour renomer les fichiers sous cette forme XXX_TOTO_0001.JPG ?
Emcy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 03h54   #2
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
bonjour,

j'ai utilisé le même script, il marche nickel et est très bien fait

pour tes autres questions est ce que substr() ne convient pas ?
va voir
(pour renommer, tu n'as qu'à couper XXX et _0001.jpg et reconcaténer avec _TOTO au milieu

(si tu as des problèmes pour trouver la solution, demande)
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 07h30   #3
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut vive les fonctions PHP

Code :
explode("_", $nom_fichier);
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 15h46   #4
En attente de confirmation mail
 
Inscription : octobre 2003
Messages : 1 249
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 1 249
Points : 261
Points : 261
ok merci pour vos infos
Emcy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2007, 02h28   #5
En attente de confirmation mail
 
Inscription : octobre 2003
Messages : 1 249
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 1 249
Points : 261
Points : 261
j'ai un autre problème : je liste les fichiers images de plusieurs repertoire puis je les redimensionne => le problème est que j'ai le message d'erreur suivant :
Citation:
fatal error: Maximum execution time of 30 seconds exceeded
=> a priori ça vient que le serveur n'aime pas qu'un fichier php mettre trop de temps à s'executer : y a t-il un moyen pour le feinter ?
Emcy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2007, 08h56   #6
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
c'est un temps d'execution de script limité à 30 par défaut dans php.ini
si tu peux changer php.ini fais le sinon au début de ta page ajoute
Code :
set_time_limit ( nombre que tu veux >30, 1000 par exemple );
__________________
...
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 06h37   #7
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut c'est vraiment déconseillé

Au contraire, si tu peux le changer dans le php.ini, mets le au plus bas possible. C'est également une question de sécurité de mettre la valeur au minimum.

En local, je l'ai descendu à 5 secondes.
__________________
Expertise OpenERP - programmation PHP/MySQL
toujours à l'écoute du marché
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 08h53   #8
En attente de confirmation mail
 
Inscription : octobre 2003
Messages : 1 249
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 1 249
Points : 261
Points : 261
ok, merci pour vos reponses
Emcy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 23h10   #9
Membre régulier
 
Avatar de kazylax
 
Frédéric
Inscription : juillet 2007
Messages : 271
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juillet 2007
Messages : 271
Points : 90
Points : 90
Tout simplement

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
 
Function ScanFile($rep){
 if (!($url=opendir($rep))) return true;
 while($dir = readdir($url)) {
  if ($dir == "." || $dir == "..") continue;
  if(!($fichier = file($rep.$dir))) continue;
  /* Propriété du fichier */
  $file_size=filesize("$rep$dir");
  $file_size=round($file_size / 1000) . " Ko";
echo "Image Uploader: <a href='$dir' target='_blank'><font color='#669999'>Aperçu</font></a> <br>Taille: <font color='#669999'>$file_size</font><br><br>";
 }
 closedir($url);
}
// chemin du dossier a scaner
ScanFile("./img");
 
?>
Cordialement,
kazylax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h35.


 
 
 
 
Partenaires

Hébergement Web