[RESOLU] Ouvrir fichier avec accent

Petit nouveau ! | 9 Messages

25 sept. 2014, 10:22

Bonjour,

Ceci est mon premier message car je bute sur une erreur. En effet j'ai le besoin d'ouvrir des fichiers au format xls et xlsm sauf que ces fichiers ont dans le nom un "é" (e accent aigu).
J'ai donc effectué plusieurs essais (notamment avec des fichier txt pour être sur que le problème ne soit pas lié à Excel) et il se trouve que j'arrive à ouvrir un fichier "test.txt" mais impossible avec "testé.txt".

Voila j'aimerais savoir si quelqu'un a une solution. Je précise que je ne peux pas renommer le fichier. Merci :)

Eléphant du PHP | 151 Messages

25 sept. 2014, 10:31

tu es en linux windows ?
Si tu peux pas le renommer, tu peux peut être le copier ?
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 10:35

J'ai oublié de préciser en effet: Windows malheureusement.
Il faudrait que je le copie en php alors ? Mais l'accent ne me causera pas le même problème en voulant le copier ?

Eléphant du PHP | 151 Messages

25 sept. 2014, 10:37

Mais c'est sur un serveur distant (ou local) ou en usage normal comme utilisateur d'un ordi ?
Je comprends pas trop...
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 10:39

Normalement le fichier est sur un serveur distant mais afin de faciliter la compréhension de l'erreur je suis en local sur ma machine.
J'ai donc Apache2 , PHP, ... d'installer sur ma machine. Donc tout est en local.

Eléphant du PHP | 151 Messages

25 sept. 2014, 10:51

Ok, alors mets ton code et on va aller jouer avec ça :

Code : Tout sélectionner

$str = strtr($str, 'ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', 'AAAAAACEEEEEIIIINOOOOOUUUUY'); $str = strtr($str, 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy');
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 10:57

Code : Tout sélectionner

$fileName = 'xls/testé.txt'; if (is_readable($fileName)) { echo 'Le fichier est accessible en lecture = '. $fileName; } else { echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName; }
Avec ce code j’obtiens que le fichier n'est pas accessible en lecture.

J'ai aussi essayé de cette manière:

Code : Tout sélectionner

$fileName = 'xls/teste.txt';
mais toujours inaccessible.

Mammouth du PHP | 2278 Messages

25 sept. 2014, 11:02

Une bidouille possible, si le fichier existe vraiment et si tu as un accès via un explorateur est de le renommer:
Tu pourrais te servir de Filezilla qui est un client ftp gratuit et libre.
Au pire le télécharger en local, le renommer et le renvoyer sur le serveur distant.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Petit nouveau ! | 9 Messages

25 sept. 2014, 11:06

Une bidouille possible, si le fichier existe vraiment et si tu as un accès via un explorateur est de le renommer:
Tu pourrais te servir de Filezilla qui est un client ftp gratuit et libre.
Au pire le télécharger en local, le renommer et le renvoyer sur le serveur distant.
Merci sirakawa, c'est une solution qui aurait pu être viable seulement quand je dis que ne peut pas le renommer c'est que je n'ai pas le droit de le renommer.
Attention, j'ai les droits de Lecture/Écriture/Modification sur le fichier, mais je n'ai pas le droit car c'est un fichier qui n'est pas utilisé que par moi.
Je suis donc obligé de faire avec l'accent malheureusement. :(

Eléphant du PHP | 151 Messages

25 sept. 2014, 11:07

if($fileName = strtr('xls/testé.txt', 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy')){
    echo 'strtr OK';
}else{
    echo 'strtr NOK, on va le copier sous un autre nom :';
    if(!copy($fileName,'xls/toto.txt')){
        echo 'beurk, ca pouire, copie pas possible !!!';
    }else{
        echo 'copie ok';
        $fileName='xls/toto.txt';
    }
}

if (is_readable($fileName)) {
    echo 'Le fichier est accessible en lecture = '. $fileName;
} else {
    echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName;
}
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 11:15

Résultat de ton code arnaud69 :
strtr OKLe fichier n'est pas accessible en lecture ! = xls/testyn.txt

Je ne sais absolument pas d'où vient le yn dans "testyn.txt'

Eléphant du PHP | 151 Messages

25 sept. 2014, 11:18

Tu as un souci d'encodage de tes pages
Fais ça alors :
$fileName = 'xls/testé.txt';

    if(!copy($fileName,'xls/toto.txt')){
        echo 'beurk, ca pouire, copie pas possible !!!';
    }else{
        echo 'copie ok';
        $fileName='xls/toto.txt';
    }


if (is_readable($fileName)) {
    echo 'Le fichier est accessible en lecture = '. $fileName;
} else {
    echo 'Le fichier n\'est pas accessible en lecture ! = '. $fileName;
}
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 11:22

Résultat:
Warning: copy(xls/testé.txt): failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\SandboxPhp\tauxerreur.php on line 55
beurk, ca pouire, copie pas possible !!!
Le fichier n'est pas accessible en lecture ! = xls/testé.txt

Précision:
Ligne 55
if(!copy($fileName,'xls/toto.txt')){

Eléphant du PHP | 151 Messages

25 sept. 2014, 11:32

Ben visiblement c'est chiant de travailler sous windows !!! Tu peux même pas faire une copie de fichier...
Ca marche sur mon linux. 8-) 8-)
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Petit nouveau ! | 9 Messages

25 sept. 2014, 11:53

Oui c'est chiant en effet. Je me suis intéressé aux charset UTF-8 et iso-8859-1 mais rien n'y fait, ça ne veut pas.

Du coup si quelqu'un d'autre à une idée, je suis preneur ! Merci.