fwrite(): supplied argument is not a valid stream resource

Je reçois 3 erreurs lorsque j'utilise ce code:

Warning: fopen() [function.fopen]: Filename cannot be empty
Warning: fwrite(): supplied argument is not a valid stream resource
Warning: fclose(): supplied argument is not a valid stream resource

Je ne sais pas quoi faire. Je suis un php noob.

<?php

$random = rand(1, 9999999999);
$location = "saves/".$random;


while (file_exists($location)) {
$random = rand(1, 999999999999);
$location = "saves/".$random;
}

$content = "some text here";
$fp = fopen($location,"wb");
fwrite($fp,$content);
fclose($fp);
?>
  • Puis-je demander comment le faire? Désolé, pour la première fois.
  • Ne devriez-vous pas également obtenir un Avis alors sur $location être vide?
  • Je l'ai fait mais Il ne l'est pas. Bien pas après la boucle.
  • Puisque le fichier n'existe pas encore, votre while condition de ne pas travailler, et c'est pourquoi vous obtenez ces messages d'erreur. Et puisque vous êtes à l'aide d'un nombre aléatoire pour le fichier, vous ne saurez jamais quel fichier ouvrir en premier lieu. Il suffit de retirer le while boucle.
  • Ok je l'ai changé mais toujours à bien faire les mêmes erreurs à l'exception de la première. Son maintenant: Warning: fopen(sauvegarde/1354473988) [function.fopen]: failed to open stream: No such file or directory in
  • J'ai remarqué que votre modifier. Vous ne pouvez pas le faire non plus. Il ne trouve pas le fichier parce que le nombre aléatoire ne cesse de changer. Vous devez enregistrer la variable aléatoire comme nom de fichier.
  • fopen() doit tenter de créer le fichier si vous êtes de passage le w mode argument, mais je pense qu'il peut échouer si le répertoire n'existe pas. (Voir ici.) Pourrait-il être le problème?
  • À l'aide d'un do {} while () pourrait accomplir la tâche prévue.
  • Qu'est-ce que vous essayez d'atteindre ici, ajouter de l'aléatoire fichier qui a été créé? Si votre dossier n'a pas de droits d'écriture, vérifiez que trop.

InformationsquelleAutor nulldev | 2013-12-29