begin process at 2010 03 22 06:30:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Apostrophe dans nom fichier et dossier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Apostrophe dans nom fichier et dossier

mercredi 5 septembre 2007 à 02:20:16 | Apostrophe dans nom fichier et dossier

JMKPROD

Je réalise un gestionnaire de mp3 couplé à une base mysql pour gérer mes milliers de mp3. Grace aux nombreux bouts de code que j'ai pioché sur phpcs.com, je peux lister mes dossiers en récursivité, recupérer ma liste (extension "mp3" et m3u") jusque là pas de problème. Cependant quand il existe un apostrophe dans le nom du dossier ("Oliver N'GOMA") celui-ci est "zappé", de même pour les noms de fichier (Kassav'-Zouk la.mp3).
Remplacer " ' "  par " \' " ne donne rien, qu'elle solution adoptée?
Aider moi je ne veux pas avoir à renommer les dossiers et fichiers en question.

Merci d'avance


JMKPROD
mercredi 5 septembre 2007 à 09:21:27 | Re : Apostrophe dans nom fichier et dossier

coockiesch

Salut!
  Si tu nous donnais le code de lecture, ca serait plus facile pour t'aider, :-)

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 5 septembre 2007 à 12:12:33 | Re : Apostrophe dans nom fichier et dossier

JMKPROD

Bonjour,

Voici la fontion qui stocke dans la base le chemin des dossiers.
$i c'est pour le trie,
$n c'est pour réaliser une arborescence par la suite

function dos_mysql($rep) // Fonction pour lister les tous les dossiers dans mysql
{
 $dir = opendir($rep);
 global $id;
 while (false !== ($nom_dos = readdir($dir))) // Boucle sur tout ce qu'il y a dans le rertoire
 {
  if ($nom_dos !="." && $nom_dos != "..")
  {
   if(is_dir($rep."\\".$nom_dos)) // Si c'est un dossier
   {
    $id++;
    $chem=$rep."\\".$nom_dos;
    $chem_mysql=str_replace("\\","/",$chem);
    //On recupere le nb de segment du chemin
    $cut = explode("/", $chem_mysql);
    $n=count($cut);
    mysql_query("INSERT INTO dos_temp(id,chem,dos,n) VALUES ($id,'$chem_mysql','$nom_dos',$n)");
    dos_mysql($rep."\\".$nom_dos);
   }
  }
 }
 closedir($dir);
}

Si il y a 1 apostrophe dans $rep il n'est pas traité dans est absent dans la base.

Pour les fichiers je me suis mal expliqué, je les récupere bien malgré l'apostrophe mais je ne peux pas les ouvrir avec media player.

voici le code (Javascript!!)
function lire(mp3_file)
 {
  document.all.mediaplayer.innerHTML='<EMBED SRC="'+mp3_file+'" HIDDEN=false AUTOSTART=true LOOP=false height=45 width=440>';
 }

Rien si il y a 1 apostrophe dans mp3_file.

(Grand merci aux auteurs qui m'ont inspiré ces fonctions, ils se reconnaitront)

JMKPROD
mercredi 5 septembre 2007 à 12:15:25 | Re : Apostrophe dans nom fichier et dossier

coockiesch

Remplace:
mysql_query("INSERT INTO dos_temp(id,chem,dos,n) VALUES ($id,'$chem_mysql','$nom_dos',$n)");

Par
mysql_query("INSERT INTO dos_temp(id,chem,dos,n) VALUES ($id,'" . addslashes( $chem_mysql ) . "','" . addslashes( $nom_dos ) . "',$n)");

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 5 septembre 2007 à 14:20:41 | Re : Apostrophe dans nom fichier et dossier

JMKPROD

Merci beaucoup pour ta réponse, la solution est surement là mais la tienne ne fonctionne pas.
Le probleme se situe avant l'insertion dans mysql.
Si j'utilise "addslashes" dans "$rep."\\".$nom_dos", l'apostrophe est bien précédé d'un "\" mais celui-ci est reconnu comme un séparateur dans le chemin du dossier et j'ai l'erreur "failed to open dir".

HELP!!!!!!


JMKPROD
mercredi 5 septembre 2007 à 14:22:18 | Re : Apostrophe dans nom fichier et dossier

coockiesch

Le addslashes, c'est juste pour l'insertion dans MySQL...
Et, éventuellement, stripslashes, te permettra de faire l'inverse quand tu récupères les données...

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 5 septembre 2007 à 15:26:29 | Re : Apostrophe dans nom fichier et dossier

JMKPROD

Je confirme que pour qu'il y ait insertion dans la base il faut que le dossier en question soit "reconnu" avant par : " $dir = opendir($rep); ".

si $rep= "Z:\JMK\labnet\gestion-mp3\zik\dossier1" ---> OK
si $rep= "Z:\JMK\labnet\gestion-mp3\zik\dossier'1" ---> dossier'1 est ignoré dans la recursivité.
si $rep=addslashes("Z:\JMK\labnet\gestion-mp3\zik\dossier1") ---> Fatal error: Maximum execution time of 30 seconds exceeded in //..........\jmk\labnet\gestion-mp3-050907\fonc_dos.php on line 29.

Dans "fonc_dos.php " j'ai +sieurs fonctions dont "dos_mysql($rep)".

Je ne comprend plus rien!

Question plus simple: Comment faire la fonction  "dos_mysql($rep)" fonctionner avec 1 apostrophe dans $rep???????????????

JMKPROD


Cette discussion est classée dans : fichier, dossiers, dossier, mp3, apostrophe


Répondre à ce message

Sujets en rapport avec ce message

lister dossiers uniquements [ par shadow1779 ] Bonjour,il existe dans les codes de nombreux scripts pour lister le contenu d'un dossier, cependant cela liste les fichiers et dossier contenu, je vou upload de fichier mp3, zip.... [ par niko14 ] salut tout le monde!!voila j'ai un probleme!j'ai un script pour telecharger des fichiers mais pour mon nouveau site je voudrais uploader des fichiers lien vers tous les fichier d'un dissier [ par kelm_by ] salut tous le monde,j'ai fait ce code pour metre un lien vers tous les fichier d'un dosier mais ca marche pas aider moi svp$folder = "./";$dossier = o php.ini et sous-dossiers [ par Florynth ] Bonjour,je viens de changé d'hébergeur et au lieu de ce servir de .htaccess il se sert des php.ini...Petit problème que j'ai rencontré la config du fi ftp et chemins d'accès [ par chamallow ] Bonjour,J'ai un petit problème avec mon module d'upload download.En fait en local tout se passe bien. Mais dès qu'il s'agit de sortir de cette perspec pb avec le type mime [ par kyript ] Bonjour à tousj'ai un formulaire qui permet d'envoyer un fichier mp3je verifie son type mime afin de ne pas avvoir de pb " if($_FILES['data_extr']['ty résultat par page [ par kenny18 ] hello,je parcours un dossier selon le code ci-dessous.$tableau = array();$dossier = opendir ('images/photos/'); while ($fichier = readdir ($dossier)) script Image du jour [ par mike501 ] Bonjour, j ai un petit souci avec mon code qui permet de mettre sur mon site une image qui change chaque jour mais le souci qui a ces que les image qu Lecture d'un nom de fichier...2 [ par magicsmacks ] Bonjour, J'avais demandais il y a qq jours ceci : " Bonjour, Je possède un dossier sur mon serveur dans lequel le no J'ai un chemin vers un fichier , je voudrai qu'il se crée automatiquement si il n'existe pas [ par ranouf ] Bonjour, J'ai un chemin: /var/www/test/fonctions/voir.php en l'occurence ce "fonctions/voir.php" n'existe pas. Ce que je voudrai savoir c si il exist


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales