begin process at 2012 02 14 08:57:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Pb chemin de longueur superieure à 255 caractères


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

Pb chemin de longueur superieure à 255 caractères

mardi 8 novembre 2005 à 21:38:10 | Pb chemin de longueur superieure à 255 caractères

kohntark

Membre Club
Salut,

Je souhaite lister un répertoire (ou une unité) afin d'appliquer un traitement à certains types de fichiers. Le script s'execute en CLI sous windows.

Voici la fonction :
(origine : http://www.phpcs.com/code.aspx?id=31179  épurée)

<?php
function recursive_readdir ($dir) {
    $dir = rtrim ($dir, '/');
    if (is_dir ($dir)) {
        $dh = opendir ($dir);
    } else {
        echo "\nRep invalide : ".$dir;
        exit;
    }
    while (($file = readdir ($dh)) !== false ) { // parcours du rep
        if ($file !== "." && $file !== '..') {
            $path =$dir."/".$file;
            echo  "rep en cours : \n".$path."\nlongueur = ".strlen($dir)." car\n";
            echo $path;
            if (is_dir ($path)) { // cas sous-rep
                recursive_readdir ($path); // appel recursif
            } else {
                echo $file."\n";               
            }
        }
    }
    closedir ($dh);
echo "\nTermine\n";
}
?>

Exemple : J'execute "recursive_readdir ('C:');" depuis l'unité D:
C:\ contient des chemins du type C:\[chemin + nom de fichier + ext = 256 caracteres]

Dans ces conditions le script plante puisque la fonction prends le chemin absolu, ce qui fait plus de 256 caractères (259 en l'occurence)

Comment puis je faire pour lister sans bug l'intégralité du chemin passé en paramètre ?
J'ai bien tenté des trucs avec chdir mais ca devient vite une usine à gaz.
Les fonctions récursives de PHPCS  donnent le même résultat et je n'ai rien trouvé sur le web.

Merci d'avance,

Kohntark-


mardi 8 novembre 2005 à 22:37:48 | Re : Pb chemin de longueur superieure à 255 caractères

Anthomicro

Salut,

à part utiliser un chemin relatif, je ne vois pas :-(


    mardi 8 novembre 2005 à 22:51:29 | Re : Pb chemin de longueur superieure à 255 caractères

    FhX

    Tu peux changer d'OS quoi :/
    mardi 8 novembre 2005 à 22:57:42 | Re : Pb chemin de longueur superieure à 255 caractères

    kohntark

    Membre Club
    seriez vous en train de suggérer que windows c'est de la m.... ? Je suis justement en train de découvrir Mandrake ... mais pour le présent pb je n'ai pas le choix, c'est windows.

    Kohntark-

    mardi 8 novembre 2005 à 23:00:11 | Re : Pb chemin de longueur superieure à 255 caractères

    Anthomicro

    FhX > MDR


      mardi 8 novembre 2005 à 23:51:03 | Re : Pb chemin de longueur superieure à 255 caractères

      FhX

      Non mais je rigole ! Meme sous Linux y'a la barrières de 255 caractères :)
      Non si plus serieusement, tu peux passer sous 1012 caractères avec EXT2fs (qui n'est supporté que par Nux :) )

      Mais alors comment, ca je sais plus :o
      mercredi 9 novembre 2005 à 10:35:51 | Re : Pb chemin de longueur superieure à 255 caractères

      psychosic

      essaye de mettre ton fichier de listage de rep au plus profond de tes rep.

      Comme ca tu prend déja le pb a l'inverse et peut etre que ca va tourner.

      mercredi 9 novembre 2005 à 17:32:13 | Re : Pb chemin de longueur superieure à 255 caractères

      kohntark

      Membre Club
      Impossible, il faut que je puisse exécuter le script à partir d'une clé USB et analyser un autre volume du disque.
      Je suis en train de bricoler un truc qui passe en chemin relatif dès que nécessaire. Ce n'est pas très beau mais pour le moment ça fonctionne.
      ... tout de même étrange cette limitation :-\

      mercredi 9 novembre 2005 à 20:45:38 | Re : Pb chemin de longueur superieure à 255 caractères

      FhX

      Bah... un caractère = 1 octet.
      255 caractères = 255 octets.

      Jcrois que c'est dû à la taille du bus (256 bits), mais alors j'en suis pas du tout sur (et pourtant, j'ai fais ca en électronique...)

      Ah voila, j'ai trouvé !

      "nommage UTFx ou x est le nombre de bits
      UTF8 -> 255 caractères -> compatible avec la plupart des programmes utilisant l'ASCII.
      futur: UTF16 ou UTF24-> 2^16 et 2^24 caractères -> tous les alphabets du monde sont supportés
      défaut: UTF16 double la taille des fichiers, UTF24 la double !"

      C'est le système Unicode qui veut ca :)
      jeudi 10 novembre 2005 à 06:45:44 | Re : Pb chemin de longueur superieure à 255 caractères

      kohntark

      Membre Club
      Salut FhX,

      Unicode, Ascii etc .. détermine l'encodage des caractères me semble t il ? A savoir le nombre de "symboles" pouvant être représentés (a,b,c,...1, 2,?/§ ...)
      Par exemple la lettre "é" ne  peut pas être représentée en Ascii pur (128 caractères : A-Z, a-z,1-9, caractères de contrôles, de ponctuation et de calcul) mais cela ne définie pas la limite du nombre de caractères pour un nom de fichier.
      Cette limitation est liée, amha, au système de fichier des machines 32 bits.

      Kohntark-



      1 2

      Cette discussion est classée dans : file, chemin, path, echo, dir


      Répondre à ce message

      Sujets en rapport avec ce message

      creer un compteur [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide creer un compteur sur gallerie [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide creer un compteur [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide je suis desesperer [ par mike501 ] bonjour, je voudrai savoir si quelq'un pourrai m aider, j ai une gallerie d image mais le souci ces que toute les image sont sur la meme page, je voud modifier un code sur une gallerie [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide Ordre alphabetique [ par mike501 ] Bonjour, j aimerai mettre ma gallerie par ordre alphabetique voici le code a modifierQuelq un peux m aidezMerci   include('./inc/config.php'); if ($ha Problème de transfert de données via la méthode get [ par ngouss94 ] BONJOUR,Alors, j'ai un petit problème:j'ai créé 2 formulaires, que je souhaite faire communiquer ensemble, c'est a dire, qu'à partir d'un menu déroula Fonction copy ne marche pas ! [ par daquad ] Bonjour tout le monde !Voici mon problème :J'utilise la fonction copy pour copier un répertoire, j'ai pris comme script de base celui <a target="_blan utilisation de la fonction = utf8_encode( ) [ par vickos ] Bonjour a tous,j'ai écrit un code qui permet de lire chaque ligne d'un fichier ou se trouve des caractères ISO.Le but de ce code est de convertir les Lister contenu d'un repertoire avec tailles fichiers et dossiers [ par harmonyk ] Bonjour à tous ! J'ai codé il n'y a pas très longtemps ce script me permettant d'afficher le contenu d'un répertoire (ici $path) en indiquant pour cha


      Nos sponsors


      Sondage...

      Comparez les prix

      CalendriCode

      Février 2012
      LMMJVSD
        12345
      6789101112
      13141516171819
      20212223242526
      272829    

      Consulter la suite du CalendriCode

      Photothèque

       
      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 : 1,903 sec (3)

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