Fopen fichier TXT sur machine locale a partir d'un serveur PHP [Résolu]

Messages postés
10
Date d'inscription
lundi 1 septembre 2003
Dernière intervention
9 juin 2009
- 23 mars 2009 à 11:18 - Dernière réponse :
Messages postés
23
Date d'inscription
lundi 4 août 2008
Dernière intervention
2 septembre 2009
- 2 sept. 2009 à 15:39
Salut,
voila ma question: J'ai un script PHP qui fonctionne bien  en localhost sur l'ouverture d'un fichier txt et la
lecture et l'écriture:

$text=fopen('c:/fichier.txt','r') or die("Fichier manquant");
$contenu=file_get_contents($fichier);
$pseudonew = 'nouveau';
$contenuMod=str_replace('ancien', $pseudonew, $contenu); 
fclose($text);
//ouverture en écriture
$text2=fopen($fichier,'w+') or die("Fichier manquant");
fwrite($text2,$contenuMod);
fclose($text2);

quant je transfert ce script sur mon serveur www.monserveur.com et que je le test
il me met invariablement "Fichier manquant". le serveur est en linux apache php et mon PC est en windows XP.
Problèmes de droit?  quelle est la solution?
merci pour ceux qui savent de m'aider.

villoutj
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 23 mars 2009 à 19:25
3
Merci
Hello,

un serveur web n'a pas accès à une machine cliente. Heureusement...t'imagines si les sites web pouvaient, à loisir, récupérer sans te demander la permission des fichiers présents sur ton disque dur?
Il faut en effet uploader le fichier (et pas de manière automatique...tjrs pour la même raison), puis que l'utilisateur le downloades après modification.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Dernière intervention
2 août 2011
- 23 mars 2009 à 11:50
0
Merci
Euhhh ...

$fichier fait reference a quoi ?

ca serai pas plutot ???

Sinon a tu bien verifier le chemin vers ton fichier .txt ? (c:/fichier.txt)
Car le chemin est construit par rapport a la racine de ton ftp.

En aucun cas tu ne peux demander de lire un fichier en local !
Commenter la réponse de Orange73
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Dernière intervention
2 août 2011
- 23 mars 2009 à 11:51
0
Merci
CORRECTION:

ca serai pas plutot ???

devient

ca serai pas plutot $text ???
Commenter la réponse de Orange73
Messages postés
10
Date d'inscription
lundi 1 septembre 2003
Dernière intervention
9 juin 2009
- 23 mars 2009 à 15:07
0
Merci
Ben en fait tu as répondu a mon pb, mais j'ai pas de solution. le c:\fichier.txt c'est celui que je veux ouvrir pour modifier chez l'utilisateur. Peut etre alors avec un upload automatique (toujours le meme nom de fichier), modification et download automatique avec même nom?
En gros c'est pas comme un cookies mais je veux laisser et modifier des parametres dans ce fichier que les utilisateurs on downloadé la 1ere fois.
Je suis ouvert à toute solution.
Merci
villoutj
Commenter la réponse de villoutj
Messages postés
10
Date d'inscription
lundi 1 septembre 2003
Dernière intervention
9 juin 2009
- 24 mars 2009 à 13:36
0
Merci
Ok j'ai compris, bon, je change donc de tactique, je vais utiliser du visual basic 2008 express en ".exe" (avec framework préinstallé sur le pc) avec un webbrowser qui récuperera les infos(un n° en fait) du site PHP (je développe les 2).
A propos les parametres utilisateurs que je met ds le vb ".exe", c'est dans le exe ou c'est ailleur sur le PC? j'ai pas trouvé la réponse.

villoutj
Commenter la réponse de villoutj
Messages postés
23
Date d'inscription
lundi 4 août 2008
Dernière intervention
2 septembre 2009
- 2 sept. 2009 à 15:39
0
Merci
Salut les amis!!
voila je vous j'explque,j'ai recuperer les fichiers de mon DD serveur et je reussie a les afficher sous forme de lien sur l'interface client,comme ceci:

<?php

$dir= 'C:\willy';

if(@is_dir($dir)){// On vérifit que le dossier existe

$dh = opendir($dir);// On ouvre le repertoire


while(($file = readdir($dh)) !== false)
{// Boucle pour parcourir le repertoire

$x=$file;

//echo 'Fichier : ',$file,'
';

echo '[download-doc.php?section=willy&file= Fichier : '.$file.']
';
}
closedir($dh);// On ferme le repertoire

unset($nomFich,$dir,$dh);// On supprime les variables qui servent à rien

}else{
echo 'Le dossier ',$dir,' n\'existe pas.

';
}
?>

maintenant je veux pouvoir telecharger ces fichiers lorsqu'on clique sur le lien et voici mon download.php

<?php

if (isset($_GET['file'])) {

$file = preg_replace('/[^0-9a-z\.\_\-]/i','',$_GET['file']);

$dir='c:\\willy\\';

//$dir='c:\willy\ ';

$fullpath = $dir.$_GET["file"];


if (is_file($fullpath)) {

header("Content-disposition: attachment; filename=".$file);

header("Content-length: ".filesize($fullpath));
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
readfile($fullpath);
}
}
?>

mon probleme maintenant c ke lorsque je clique sur un lien j'ai une page blanche
je ne sais pkoi.
merci pour votre aide les amis.
Commenter la réponse de siwil

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.