affichage repertoire + les zipper

Petit nouveau ! | 3 Messages

26 févr. 2007, 19:09

Bonjour,

Je suis novice sur php et j'aurai besoin de votre aide.
Mon but étant de lister les répertoires et sous repertoires d'un dossier avec comme condition d'afficher ceux et seulement ceux du mois précédent.
Tous mes répertoires sont nommés sous cette forme : "20070101.xls", "20070102" et ainsi de suite (un par jour) .

Mes repertoires sont dans :
fichiers_sortie\ORANGE1\20070101.xls
fichiers_sortie\ORANGE1\20070102.xls
fichiers_sortie\ORANGE1\20070103.xls
fichiers_sortie\ORANGE1\20070104.xls

fichiers_sortie\ORANGE2\20070101.xls
fichiers_sortie\ORANGE2\20070102.xls

etc jusqu'à orange5


J'arrive bien à afficher mes repertoires Orange de fichiers_sortie ainsi que fichiers_entrée mais je bloque sur l'histoire de tri par date.

Voici mon code actuel, le début doit être faux, je voulais juste m'en servir pour créer une variable date.




en gros je voudrais que mon code réalise ca :
if(strcmp($timestop,$repname)=true)
print;
<?php
$jb = 1;
$date = date("Y-m-d");
list($jour , $mois , $annee) = explode('-', $date);
$mois2 = $mois - $jb;
$nb = date("t",mktime(0, 0, 0,date("m")-1,1,date("Y")));


$dir = "fichiers_entree";
$dir2 = "fichiers_sortie";

// Ouvre un dossier bien connu, et liste tous les fichiers

echo "fichiers_entree:<br/>";
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
					echo "type:".filetype($dir.$file)."<br/>";
          echo "repertoire:".$file."<br/>";
       }
       closedir($dh);
   }
}

echo "<br/><br/>";

echo "fichiers_sortie:<br/>";
if (is_dir($dir2)) {
   if ($dh = opendir($dir2)) {
       while (($file = readdir($dh)) !== false) {
					echo filetype($dir2.$file)."<br/>";
          echo $file."<br/>";
       }
       closedir($dh);
   }
}
Modifié en dernier par JBLEPSY le 26 févr. 2007, 22:17, modifié 3 fois.

Mammouth du PHP | 991 Messages

26 févr. 2007, 19:18

je ne vois pas tout a fait ce que tu veut faire ... tu veux ordonner tes fichiers qui sont dans un dossier ? Ou a lors ordonées l affichage ?


Autre chose utilise les balise
 du forum pour mettre en formùe ton message c'est tellement plus jolie et fait une petite icremention car c'est plutot fouillie
DevOps, Symfony4, Hoa

Mammouth du PHP | 991 Messages

26 févr. 2007, 19:38

J'ai planche sur ca :
if (is_dir($dir)) 
	{
		if ($dh = opendir($dir)) 
			{
			while (($file = readdir($dh)) !== false) 
					
				{
					$nomfichier = substr($file, 0, -4);
					$jour = substr($nomfichier, 6, 0);
					$mois = substr($nomfichier, 4, -2);
					$annee = substr($nomfichier, 0, -4);
					if ($mois != date(m))
						{
						echo "type:".filetype($dir.$file)."<br/>";
						echo "repertoire:".$file."<br/>";
						}
				}
			closedir($dh);
			}
	}
Ca correspond a tes attentes ?
DevOps, Symfony4, Hoa

Petit nouveau ! | 3 Messages

26 févr. 2007, 22:25

Merci de vos réponses, désolé pour les balises (tu as raison c'est beaucoup plus beau).
Je testerai le code demain (c'est pour le boulot).
Je pense que vous me reverai souvent :roll: .
Pour détailler ma demande (je ne vois pas comment je peux plus détailler)
Je veux que ma page de résultat affiche le liste des repertoires cités ci-dessus sans les eventuels fichiers dans c'est dossier. Plus en continuité du code de faire une copie de ces fichiers en les zippants sur la meme racine de repertoire.
En tout cas merci de vos réponses.
Bonne soirée

Mammouth du PHP | 991 Messages

26 févr. 2007, 22:31

Pour te guider pour detailler comment sont creer ces fichiers ? peut tu me donner un exemple concret du cheminement du fichier est t il associer à base de donnée ?

le chemninement :

fichier de generation > affichage trier > telechargement en zip
est ce que cela correspond a ton idée ?
DevOps, Symfony4, Hoa

Invité
Invité n'ayant pas de compte PHPfrance

27 févr. 2007, 00:49

Oui merci. Pas besoin de base de données dans ce cas, je veux rien stocké de ces fichiers, je dois juste les transmetre par mails tous les mois.
C pour cela que je veux automatiser le processus. J'ai deja le bout de programme permettant de prendre les fichiers .zip et les transmettre par mail... Ca j'ai reussi, mais j'ai beaucoup de mal en ce qui concerne la prise en compte des dates.

Mammouth du PHP | 991 Messages

27 févr. 2007, 00:53

Puis tu me montrer schématiquement le processus que tu veux faire car la je suis dans une brume legere et avec le someil je suis dans un brouillard opaque ....
DevOps, Symfony4, Hoa

Petit nouveau ! | 3 Messages

27 févr. 2007, 11:25

$nomfichier = substr($file, 0, -4); 
                    $jour = substr($nomfichier, 6, 0); 
                    $mois = substr($nomfichier, 4, -2); 
                    $annee = substr($nomfichier, 0, -4); 
Bonjour,

Je ne comprend ce bout de code, que définisse les valeurs 6,0, 4, -2, etc?
En ce qui concerne le zip par la suite tu as un conseil?

Mammouth du PHP | 991 Messages

27 févr. 2007, 12:18

Bien j'ai effectuer cette operation pour en faite recuper dans les différentes variables l'année, le mois et le jour
Pour plus de precision va voir :
le Manuel

Pour le zip tu n'a qu'a utiliser une biblioteque zip
dispo ici => utilise la librairie 2.5 sans trace ...

Puis pour ziper ... je vais taider a developper une fonction
DevOps, Symfony4, Hoa