μForum problème fopen()
Dernière réponse : dans Programmation
Bonjours, j'ai un problème avec ce fameux forum (génial !: une page, tu la lance puis c'est bon) .
Bref, à chaque nouveau sujet du forum j'ai ce message d'erreur qui s'affiche:
"Warning: fopen() [function.fopen]: Filename cannot be empty in /home/arbilus/public_html/forums/1.php on line 22"
Cependant, le sujet est bien posté, mais l'erreur est toujours là. Alors j'ai regardé à la ligne 22 et j'ai ça:
Je comprend pas l'erreur, ils me disent que "le nom du fichier ne peut être vide" .. Quel fichier ?
Il y a le fichier de connexion, de membres et des messages puis l'index du forum. Alors je comprend pas ce que veux faire cette fonction.
J'ai pensé qu'elle n'était pas nécessaire pour le forum, je l'ai donc supprimé, mais là, grand message d'erreur: "fatal error" . Donc je sais pas que modifier pour enlever le message en amont. J'y comprend rien.
Pourriez-vous m'expliquer (à quoi sert ce code, comment enlever le message d'erreur, bref, c'est le brouillard) .
Par contre, pour le reste du code.. Il est TRES long, donc je sais pas si je dois le poster. Car c'est vraiment très lourd.
Bref, à chaque nouveau sujet du forum j'ai ce message d'erreur qui s'affiche:
"Warning: fopen() [function.fopen]: Filename cannot be empty in /home/arbilus/public_html/forums/1.php on line 22"
Cependant, le sujet est bien posté, mais l'erreur est toujours là. Alors j'ai regardé à la ligne 22 et j'ai ça:
class SaveObj
{
function saveObj() {
if($fp=fopen($this->name,"w")) { // Ici c'est la ligne 22
fputs($fp, serialize($this));
fclose($fp);
}
}
}
Je comprend pas l'erreur, ils me disent que "le nom du fichier ne peut être vide" .. Quel fichier ?
Il y a le fichier de connexion, de membres et des messages puis l'index du forum. Alors je comprend pas ce que veux faire cette fonction.
J'ai pensé qu'elle n'était pas nécessaire pour le forum, je l'ai donc supprimé, mais là, grand message d'erreur: "fatal error" . Donc je sais pas que modifier pour enlever le message en amont. J'y comprend rien.
Pourriez-vous m'expliquer (à quoi sert ce code, comment enlever le message d'erreur, bref, c'est le brouillard) .
Par contre, pour le reste du code.. Il est TRES long, donc je sais pas si je dois le poster. Car c'est vraiment très lourd.
Autres pages sur : forum probleme fopen
Lassé par la pub ? Créez un compte
Meilleure solution
arbilus a dit :
Ben alors, pourquoi ça me met "warning" si "name" est renseigné . Je comprend pas . A moins que ça ne soit pas "var $name="membres/members.dat"; ..Ça dépend où est la ligne de code, où est l'appel à ta fonction, bref de tas de choses que l'on ne peut pas voir si l'on est pas devant le code...
C'est à toi de vérifier ça...
Ou alors elle n'est pas renseignée...
De toute évidence, il ne trouve rien dans "$this->name" et ne peut donc pas ouvrir le fichier...
EDIT: ta fonction semble sauvegarder le contenu de l'objet courant dans un fichier.
EDIT2: Si ta fonction est appelée (et elle l'est sûrement) quelque part dans ton code, ce n'est pas étonnant que te fasse insulter quand tu essaies de la supprimer...
De toute évidence, il ne trouve rien dans "$this->name" et ne peut donc pas ouvrir le fichier...
EDIT: ta fonction semble sauvegarder le contenu de l'objet courant dans un fichier.
EDIT2: Si ta fonction est appelée (et elle l'est sûrement) quelque part dans ton code, ce n'est pas étonnant que te fasse insulter quand tu essaies de la supprimer...
Salut,
Si tu viens ici avec ton code, attends-toi à ce qu'on le critique (objectivement).
Et on ne te lâchera pas tant que tu coderas comme un porc (sans chercher à vexer Storos
). Si, si. Et même que tu feras des progrès, grâce à toutes ses bonnes volontés.
D'ailleurs, ne vexe pas ces bonnes volontés en voulant faire du code crade qui marche.
Si tu viens ici avec ton code, attends-toi à ce qu'on le critique (objectivement).
Et on ne te lâchera pas tant que tu coderas comme un porc (sans chercher à vexer Storos
). Si, si. Et même que tu feras des progrès, grâce à toutes ses bonnes volontés.D'ailleurs, ne vexe pas ces bonnes volontés en voulant faire du code crade qui marche.
zeb a dit :
Salut,Si tu viens ici avec ton code, attends-toi à ce qu'on le critique (objectivement).
Et on ne te lâchera pas tant que tu coderas comme un porc (sans chercher à vexer Storos
). Si, si. Et même que tu feras des progrès, grâce à toutes ses bonnes volontés.D'ailleurs, ne vexe pas ces bonnes volontés en voulant faire du code crade qui marche.
Gruik!
Ok . Je veux bien trouver la solution. Donc "name" c'est le nom du fichier à éditer ou alors un "element" du code ? (ou alors autre chose ..)
edit: ^^
Sinon, j'ai pigé pourquoi il faut pas le faire: ça efface aussi les messages d'erreur plus important. Mais de toute façon j'ai un fichier texte qui m'affiche dans le dossier du script tous les messages d'erreur . Donc je peux très bien les masquer, et en cas de gros problème je consulte .
Ou alors.. Il est possible de faire le meme code, mais que pour les warning..
edit: ^^
Sinon, j'ai pigé pourquoi il faut pas le faire: ça efface aussi les messages d'erreur plus important. Mais de toute façon j'ai un fichier texte qui m'affiche dans le dossier du script tous les messages d'erreur . Donc je peux très bien les masquer, et en cas de gros problème je consulte .
Ou alors.. Il est possible de faire le meme code, mais que pour les warning..
"name" est un attribut (une variable quoi...) de l'objet en cours lors de l'appel à la fonction SaveObj.
Cherche dans ton code où cette "variable" est initialisée (et/ou reçoit une valeur). Si elle ne l'est pas... et bien c'est là qu'est ton problème...
Cherche également dans ton code à quoi va servir ce fichier. Cette fonction n'est vraisemblablement pas là pour faire joli...
Cherche dans ton code où cette "variable" est initialisée (et/ou reçoit une valeur). Si elle ne l'est pas... et bien c'est là qu'est ton problème...
Cherche également dans ton code à quoi va servir ce fichier. Cette fonction n'est vraisemblablement pas là pour faire joli...
Oui, elle ne l'ai pas ..
Autrement, mon autre solution (celle de masquer) dans le cas où j'ai un fichier qui enumère toutes les erreurs des script du dossier au quel il appartient. ça peut le faire non ? (même si c'est un travail pas très propre) .
Mes fichiers texte sont des fichiers "error_log" . Ils présentent les erreurs comme ça:
[26-Jun-2010 06:09:49] PHP Parse error: syntax error, unexpected '<' in /home/xxxxx/public_html/load.php on line 162
[26-Jun-2010 06:09:50] PHP Parse error: syntax error, unexpected '<' in /home/xxxxx/public_html/load.php on line 162
Autrement, mon autre solution (celle de masquer) dans le cas où j'ai un fichier qui enumère toutes les erreurs des script du dossier au quel il appartient. ça peut le faire non ? (même si c'est un travail pas très propre) .
Mes fichiers texte sont des fichiers "error_log" . Ils présentent les erreurs comme ça:
[26-Jun-2010 06:09:49] PHP Parse error: syntax error, unexpected '<' in /home/xxxxx/public_html/load.php on line 162
[26-Jun-2010 06:09:50] PHP Parse error: syntax error, unexpected '<' in /home/xxxxx/public_html/load.php on line 162
J'ai "var $name="membres/members.dat"; " .
C'est peut être ça ?
Edit: au fait, imaginons ce cas là: je vais vérifier si le forum fonctionne bien tout le temps, si c'est le cas, je vois pas pourquoi je pourrais ne pas "cacher l'erreur", car le forum je le changerais plus par le suite. Il restera le même. Donc pourquoi m'embeter à apprendre cette partie "complexe" du php (car j'ai appris que c'était complexe
: les variables ou un truc du genre) alors que je peux trouver une "façon" de faire fonctionner mon forum sans problème et facilement .
Et dans le cas où je change quelque chose et qu'il y ai un problème, je consulte le fichier, je regarde d'où vient le problème et j'essai de le résoudre. Rien de plus simple.
C'est peut être ça ?
Edit: au fait, imaginons ce cas là: je vais vérifier si le forum fonctionne bien tout le temps, si c'est le cas, je vois pas pourquoi je pourrais ne pas "cacher l'erreur", car le forum je le changerais plus par le suite. Il restera le même. Donc pourquoi m'embeter à apprendre cette partie "complexe" du php (car j'ai appris que c'était complexe
: les variables ou un truc du genre) alors que je peux trouver une "façon" de faire fonctionner mon forum sans problème et facilement . Et dans le cas où je change quelque chose et qu'il y ai un problème, je consulte le fichier, je regarde d'où vient le problème et j'essai de le résoudre. Rien de plus simple.
Lassé par la pub ? Créez un compte
. J'ai rien compris, mais problème réglé à la barbare !