IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Gesion fichier par listage [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut Gesion fichier par listage
    Bonjour,

    J'ai un soucis avec mon code.
    En fait, dans le principe un formulaire permet de créer une entrée dans ma base et celles ci sont récupérées dans une liste générale.
    Chaque entrée à une ID unique.

    Mon formulaire permet d'uploader un fichier sur le serveur, et mon fichier de traitement renomme automatiquement ce fichier avec le numéro de l'entrée.

    Ce que je souhaite c'est que sur mon fichier php de liste générale, je puisse récupérer ce fichier (en sachant que j'y arrive déja mais j'ai un bug dans ma focntion)

    J'utilise cette fonction pour retrouver mon fichier :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function ListeFindedFileAndLink($path,$pattern) {
     
    	if (is_dir($path))
    	{
    		if ($dh = @opendir($path)) {
    			while (($file = readdir($dh)) !== false) {
    				if (($file != '.') && ($file != '..'))
    					if (is_dir($path . $file))
    					ListeFindedFileAndLink($path . $file . '/',$pattern);
    				else
    					if (ereg($pattern,strtolower($file)))
    					echo '<a href="'.$path . $file.'"><img src="/styles/pj.png" alt="Pièce Jointe" /><br>'.$file.'</a><br>';
    			}
    			closedir($dh);
    		}
    	}
    	elseif (is_file($path))
    	if (ereg($pattern,strtolower($file))) echo '<a href="'.$path .'">'.$path .'</a><br>';
    }

    et dans mon tableau je récupère l'ID et je le balance dans la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    					<td>
    						<?php
    							$filename = "".$row['id_etu']."";
    							$directory = "tmp/";
    							ListeFindedFileAndLink($directory,'('.$filename.')');
    						?>
    					</td>
    Mon soucis c'est que si l'ID est par exemple "60" il me sort bien celle que j'ai besoin sur la ligne de la 608, mais il me sort aussi ce fichier "608.pdf" sur les lignes de l'ID "608" ..

    Comment faire pour modifier cette fonction pour que la valeur recherchée soit "exacte" et qu'il ne me sorte pas des "composantes" de cette recherche ?

    J'espère que mon explication est claire.. ^^'

    merci d'avance !

  2. #2
    Membre du Club
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    J'ai trouvé la solution !

    il suffisait de remplacer ereg par preg_match et d'utiliser les \b !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function ListeFindedFileAndLink($path,$pattern) {
     
    	if (is_dir($path))
    	{
    		if ($dh = @opendir($path)) {
    			while (($file = readdir($dh)) !== false) {
    				if (($file != '.') && ($file != '..'))
    					if (is_dir($path . $file))
    					ListeFindedFileAndLink($path . $file . '/',$pattern);
    				else
    					if (preg_match('/\b'.$pattern.'\b/i',strtolower($file)))
    					echo '<a href="'.$path . $file.'"><img src="/styles/pj.png" alt="Pièce Jointe" /><br>'.$file.'</a><br>';
    			}
    			closedir($dh);
    		}
    	}
    	elseif (is_file($path))
    	if (preg_match('/\b'.$pattern.'\b/i',strtolower($file))) echo '<a href="'.$path .'">'.$path .'</a><br>';
    }
    Enjoy !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/05/2007, 18h35
  2. Transfert de fichier par ftp
    Par schub1015 dans le forum MFC
    Réponses: 3
    Dernier message: 14/01/2004, 17h53
  3. Peut on manipuler le système de fichier par T-SQL?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2003, 09h19
  4. Réponses: 1
    Dernier message: 19/08/2003, 16h11
  5. Supprimer un fichier par rapport a une date
    Par NewB dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo