|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
Bonjour,
Je cherche à copier des fichier locaux vers un autre répertoire local. Ca marche pour une partie des fichier mais pour d'autres non : Leur nom comporte des caractères spéciaux, voici une petite liste : []ó()¢&ãé Le chemin est correct car quand je copie le chemin dans un logiciel connaissant le format, ça marche. J'ai essayé avec la fonction copy() puis system('cp ...') puis exec() Des idées ? PS : toute les opérations ont lieu de ext3 vers ext3 FS. Je suis sous Ubuntu 10.04 x64 |
|
|
00
|
|
|
#2 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Hello
Tu as vérifié les droits ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Citation:
Code :
$destination = $repertoire . rawurlencode($fichier);
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 234 ![]() |
En même temps si tes fichiers sont destinés à être sur un serveur un jour, tu devrais supprimer ces caractères spéciaux sinon tu vas vers de copieuses complications
|
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
J'ai oublié de préciser mais j'utilise des chemin pour mes fichiers de cette forme :
/dossier 1/dossier 2/dossier N/un fichier parmi d'autres.ext |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
avec copy et exec y'a quoi comme erreur ? les dossiers existes sur la copie ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
J'ai ce message d'erreur :
Warning: copy(/media/music/MP3/Zouk/Kizomba/No1 Kizomba vol 2/CD1/03 Caló Pascoal - Titiriti.mp3) [function.copy]: failed to open stream: No such file or directory in /home/me/public_html/quickplaylist/step4.php on line 49 Quand je copie le chemin et que j'ouvre le fichier dans Rythmbox ou Amarok, pas de problèmes. Tous mes dossiers ont les droits rwxx-xr-x et les fichier rw-r--r |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Je pense que le répertoire source devrait être
Code :
/home/me/public_html/media/music/MP3/Zouk/Kizomba/No1 Kizomba vol 2/CD1/
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
non, mes données sont sont sur un autre disque, c'est bien /media/music/...
|
|
|
00
|
|
|
#10 | ||
|
Membre régulier
![]() |
Salut ,
Code :
Sinon , essaye avec une autre méthode : stream_copy_to_stream Presque aussi simple à mettre en place , et tu en sauras peut être plus sur ton problème. Mais c'est vrai que les caractères spéciaux ou les espaces peuvent poser problème :s Ch.
__________________
Lindev.fr |
||
|
00
|
|
|
#11 | |||
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
Code :
Citation:
|
|||
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Et si tu encodes aussi le nom du fichier avec rawurlencode() ?
Par exemple... Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() |
Quel est l'encodage par défaut de ton système ?
sous debian ou Ubuntu dans un terminal entre la cmd : "locale" Comment fais tu pour récupérer la source du fichier à copier ? voir s'il n'y a pas de conversion iso <-> utf-8 entre temps Ch.
__________________
Lindev.fr |
|
00
|
|
|
#14 | |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
Résultat de la commande locale :
Citation:
Code :
copy(utf8_encode($src), utf8_encode($dest.basename($src))); |
|
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
Y a-t-il un moyen de savoir l'encodage des noms de fichiers ou le système de fichier ?
|
|
|
00
|
|
|
#17 |
|
Membre régulier
![]() |
Tu as normalement : mb_detect_encoding
Peut être existe t-il d'autres méthodes ... ? mais normalement celle-ci devrait convenir . Ch.
__________________
Lindev.fr |
|
00
|
|
|
#18 |
|
Membre habitué
![]() Sébastien Développeur informatique Inscription : août 2003 Messages : 252 ![]() |
Merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com