Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Apostrophe dans nom fichier et dossier [ Divers / Débutant(e) ] (JMKPROD)

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é 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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.