2011-04-06 10 views
0

Je veux écrire quelque chose dans un fichier texte.PHP écrire dans le fichier

$myFile = "meinung.txt"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$stringData = "Floppy Jalopy\n"; 
fwrite($fh, $stringData); 
$stringData = "Pointy Pinto\n"; 
fwrite($fh, $stringData); 
fclose($fh); 

quand je veux exécuter cela, il dit « ne peux pas ouvrir le fichier »

qu'est-ce que je faire de mal?

+3

Avez-vous des autorisations d'écriture dans ce répertoire? – fabrik

+3

Avez-vous des autorisations pour écrire dans le fichier/dossier? – Headshota

+0

Vous pourriez essayer de sortir le «mourir» et de voir quelle erreur il vous donne. –

Répondre

1

Lieu

<?php 
error_reporting(E_ALL); 
ini_set('display_errors','On'); 
... 

sur le dessus de votre code pour obtenir des messages d'erreur sur l'écran ou dans votre fichier journal (Vous savez où votre journal d'erreurs est, non?).

Définissez un chemin d'accès absolu à votre fichier afin de savoir dans quel répertoire le fichier est réellement créé pour corriger les autorisations du système de fichiers comme indiqué dans les commentaires.

+0

Addition: Avec '$ myFile = dirname (__ FILE__). '/ meinung.txt'; (ou '$ myFile = __DIR__. '/meinung.txt';' depuis PHP 5.3) vous obtiendrez le chemin absolu. – KingCrunch

+0

@KingCrunch - '__FILE__' (avec chemin absolu) est disponible depuis PHP 4.0.2; et: peut-être veut-il placer le contenu dans un autre répertoire que celui du script. – initall

+0

Je sais que '__FILE__' est disponible depuis ... pendant longtemps ^^' __DIR__' est disponible depuis 5.3. C'est la raison pour laquelle vous devez utiliser quelque chose comme 'dirname (__ FILE __)' dans les versions <5.3. L'indice avec le répertoire est valide. Donc '$ myFile = getcwd(). '/meinung.txt'; 'est probablement meilleur. – KingCrunch