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

Langage PHP Discussion :

appeler un fichier qui contient un espace dans le nom !


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut appeler un fichier qui contient un espace dans le nom !
    bonjour @ tous

    je suis confronter a un probleme qui m'etonne qu'a moitié mais j'aurais besoin d'aide pour le contourner !
    Je m'explique :
    Je cré un fichier tar a partir de diffrents fichiers présent sur le serveur!
    tout va bien tant que les fichiers appelés ne contiennent pas d'espace dans leurs noms !
    script ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?
    	$p_tarname="monfichier.tar"
    	$p_list2="dossier/$_GET[fichier]";// fichir appelé selon variable 'fichier'
    PclTarAddList($p_tarname, $p_list2, $p_add_dir2, $p_remove_dir2, $p_mode)?>
    avec ca
    - si $_GET[fichier] = nomsansespace.html => PAS DE PROBLEME
    - si $_GET[fichier] = nom avec espace.html => PROBLEME !!!

    quand je dis probleme en fait le seveur ne trouve pas le fichier tout simplement

    S'il vous plait un petit coup de pouce
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    oui c'est normal... et je pense qu'il n'y a pas grand chose à faire : les espaces dans les fichiers ne sont pas correctement gérés

    tu dois donc éviter ces espaces, c'est pourquoi tout le monde utilise le sous-lignement _ (sous la touche huit) à la place d'un espace

    je crains que tu devras renommer tes fichiers

  3. #3
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_GET[fichier] = nom&nbsp;avec&nbsp;espace.html
    Mais non testé

  4. #4
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut
    bon merci bien a tous les deux
    j'ai essayer &nbsp; mais ca ne fonctionne pas
    j'ai aussi essayer avec %20 mais rien non plus

  5. #5
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Vous avez créé des noms de fichiers contenant des espaces, mais lorsque vous essayez de leur appliquer des traitements via des scripts, vous obtenez des messages d'erreur. En effet, le système considère les espaces comme des séparateurs pour les options des commandes. Il existe néanmoins une astuce pour échapper à ces messages d'erreur : les guillemets. Pour vous en convaincre, créez le fichier "mon fichier" à l'aide de la commande :
    touch ~/"mon fichier" .
    Ajoutez le répertoire dirtest à votre répertoire utilisateur en entrant "mkdir ~/dirtest" . Puis, tapez la commande "for file in ~/mo*; do cp $file ~/dirtest/; done" . Elle copie tous les fichiers dont le nom commence par mo dans le dossier ~/dirtest/. Le message cp: cannot stat `mon': Aucun fichier ou répertoire de ce type s'affiche alors. En revanche, si vous saisissez "for file in ~/mo*; do cp "$file" ~/dirtest/; done" , le fichier mon fichier sera copié dans "~/dirtest/" .

    Exemple d'utilisation des guillemets fred@serveur2:~ > touch "mon fichier"fred@serveur2:~ > ls mo*mon fichierfred@serveur2:~ > rm -f dirtest/*fred@serveur2:~ > ls dirtest/fred@serveur2:~ > for file in ~/mo*; do cp "$file" ~/dirtest/; donefred@serveur2:~ > ls dirtest/mon fichier

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/12/2007, 12h56
  2. [BATCH] Espaces dans les noms de fichiers :|
    Par andlio dans le forum Windows
    Réponses: 1
    Dernier message: 03/08/2006, 03h42
  3. Espace dans un nom de fichier
    Par pouli dans le forum Langage
    Réponses: 5
    Dernier message: 27/07/2006, 12h26
  4. [bat]espace dans le nom d'un fichier
    Par norac dans le forum Windows
    Réponses: 8
    Dernier message: 29/06/2006, 10h15
  5. download fichier avec espace dans le nom
    Par cb68 dans le forum Langage
    Réponses: 8
    Dernier message: 23/11/2005, 10h00

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