[PHP] fopen kan bestand niet openen *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het volgende probleem:

Dit geeft mijn website aan:
Warning: fopen(ip.php): failed to open stream: No such file or directory in /Includes/inc_menu_poll.php on line 65

Warning: filesize(): Stat failed for ip.php (errno=2 - No such file or directory) in /Includes/inc_menu_poll.php on line 66

Warning: fread(): supplied argument is not a valid stream resource in /Includes/inc_menu_poll.php on line 66

Op deze betreffende regels 65 en 66 staat:
$ip = fopen("ip.php", "r");
$contents = fread($ip, filesize("ip.php"));

Ik heb mijn ip.php gewoon schrijfrechten gegeven dus zou niks mis mee moeten zijn.
Wie weet wat er aan de hand is?

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Staan dus wel in dezelfde directory e.d. :?

Heel misschien eens realpath( 'ip.php' ) proberen :?

[ Voor 43% gewijzigd door supakeen op 24-08-2003 02:11 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dat bestand staat niet waar het zou moeten staan, dat is er aan de hand.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ip.php staat gewoon in dezelfde path.
En op regel 20 staat dit gewoon en dara geeft ie geen fout mee:
$ip = fopen("ip.php", "a");
fputs ($ip, "<? //$REMOTE_ADDR ?>\n");

Sorry was de titel vergeten van dit topic :Z.

[ Voor 36% gewijzigd door Verwijderd op 24-08-2003 02:17 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Verwijderd schreef op 24 August 2003 @ 02:15:
ip.php staat gewoon in dezelfde path.
En op regel 20 staat dit gewoon en dara geeft ie geen fout mee:
$ip = fopen("ip.php", "a");
fputs ($ip, "<? //$REMOTE_ADDR ?>\n");

Sorry was de titel vergeten van dit topic :Z.
En toch klopt er iets niet, probeer eens aan te roepen met './ip.php' of iets dergelijks, veranderd dat iets?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nope werkt niet, heel erg vreemd dit.

Ik zie nu in men erroorlog dat ie wel alles fout doet. Hij geeft onder andere deze fouten aan:
fopen(poll.txt): failed to open stream: Permission denied in /Includes/inc_menu_poll.php on line 24

Ik heb deze toch echt op 777 gezet.

fputs(): supplied argument is not a valid stream resource in /Includes/inc_menu_poll.php on line (alle lijnen)

[ Voor 83% gewijzigd door Verwijderd op 24-08-2003 02:28 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Post het hele PHP bestand eens met behulp van de [ php] en [/ php] tags.

[ Voor 4% gewijzigd door supakeen op 24-08-2003 02:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?php
echo"
   <tr>
    <td bgcolor=#4E596D valign=top bordercolor=#838383 class=c1>[img]Plaatjes/Website/Menu_poll.gif></td>   
[/img]\n";

include ("poll.txt"); 

if ($stem) { 

$ip = fopen("ip.php", "r"); 
$contents = fread($ip, filesize("ip.php")); 
$uip = $REMOTE_ADDR; 

if (eregi("$uip", $contents)) {  
echo "<tr><td bgcolor=#ECECED valign=top bordercolor=#838383 class=c3><br>&nbsp;<font color=red>Je hebt al gestemd! Bij de volgende poll mag je weer meedoen.</font><br><br></td></tr>"; 
} 
else { 

$ip = fopen("ip.php", "a"); 
fputs ($ip, "<? //$REMOTE_ADDR ?>\n"); 
fclose ($ip); 

$file = fopen("poll.txt", "w+"); 

fputs ($file, "<?\n"); 
fputs ($file, "\$antwoord[0] = \"$antwoord[0]\";\n"); 
fputs ($file, "\$antwoord[1] = \"$antwoord[1]\";\n"); 
fputs ($file, "\$antwoord[2] = \"$antwoord[2]\";\n"); 
fputs ($file, "\$antwoord[3] = \"$antwoord[3]\";\n"); 
fputs ($file, "\$antwoord[4] = \"$antwoord[4]\";\n"); 
fputs ($file, "\$antwoord[5] = \"$antwoord[5]\";\n"); 
fputs ($file, "\$antwoord[6] = \"$antwoord[6]\";\n"); 
fputs ($file, "\$antwoord[7] = \"$antwoord[7]\";\n"); 
fputs ($file, "\$antwoord[8] = \"$antwoord[8]\";\n"); 
fputs ($file, "\$antwoord[9] = \"$antwoord[9]\";\n\n"); 

if ($stem == $antwoord[0]) { $plusone = $votes[0] + 1; fputs ($file, "\$votes[0] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[0] = \"$votes[0]\";\n"); } 
if ($stem == $antwoord[1]) { $plusone = $votes[1] + 1; fputs ($file, "\$votes[1] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[1] = \"$votes[1]\";\n"); } 
if ($stem == $antwoord[2]) { $plusone = $votes[2] + 1; fputs ($file, "\$votes[2] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[2] = \"$votes[2]\";\n"); } 
if ($stem == $antwoord[3]) { $plusone = $votes[3] + 1; fputs ($file, "\$votes[3] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[3] = \"$votes[3]\";\n"); } 
if ($stem == $antwoord[4]) { $plusone = $votes[4] + 1; fputs ($file, "\$votes[4] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[4] = \"$votes[4]\";\n"); } 
if ($stem == $antwoord[5]) { $plusone = $votes[5] + 1; fputs ($file, "\$votes[5] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[5] = \"$votes[5]\";\n"); } 
if ($stem == $antwoord[6]) { $plusone = $votes[6] + 1; fputs ($file, "\$votes[6] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[6] = \"$votes[6]\";\n"); } 
if ($stem == $antwoord[7]) { $plusone = $votes[7] + 1; fputs ($file, "\$votes[7] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[7] = \"$votes[7]\";\n"); } 
if ($stem == $antwoord[8]) { $plusone = $votes[8] + 1; fputs ($file, "\$votes[8] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[8] = \"$votes[8]\";\n"); } 
if ($stem == $antwoord[9]) { $plusone = $votes[9] + 1; fputs ($file, "\$votes[9] = \"$plusone\";\n"); } else { fputs ($file, "\$votes[9] = \"$votes[9]\";\n"); } 

$plusone = $totaal + 1; 
fputs ($file, "\$totaal = \"$plusone\";\n"); 
fputs ($file, "\$vraag = \"$vraag\";\n"); 
fputs ($file, "?>"); 

fclose ($file); 

echo "<meta http-equiv=refresh content=\"0; URL=$PHP_SELF"; 
if ($QUERY_STRING) { echo "?$QUERY_STRING\">"; } else { echo "\">"; } 

} } 

if ($vraag == "") { echo "<tr><td bgcolor=#ECECED valign=top bordercolor=#838383 class=c3><br>&nbsp;<font color=red>Er is geen poll open.<br><br></font></td></tr>"; } 

else {  

$ip = fopen(".ip.php", "r"); 
$contents = fread($ip, filesize(".ip.php")); 
$uip = $REMOTE_ADDR; 

if (eregi("$uip", $contents)) {  

echo "&nbsp;<b>$vraag</b> $totaal "; 

if ($totaal == "1") { echo "stem"; } else { echo "stemmen"; }  

echo " uitgebracht\n\n"; 
echo "  <tr>\n"; 
echo "    <td>\n"; 

for ($i = 0; $i < count($antwoord); $i++) { 

if ($antwoord[$i] == "") { echo ""; } else { 

echo "      &nbsp;<b>$antwoord[$i]</b><br>\n"; 

} } 

echo "    </td>\n"; 
echo "    <td valign=top>\n\n";  

for ($i = 0; $i < count($votes); $i++) { 

if ($votes[$i] == "") { echo ""; } else { 

echo "        <tr>\n"; 
echo "          <td align=right>\n"; 
echo "            &nbsp;&nbsp;&nbsp;"; 

echo (round(($votes[$i] / $totaal) * 100, 1)); 

echo "%\n"; 
echo "          </td>\n"; 
echo "          <td>\n"; 
echo "            &nbsp;<img style=\"border: 1 solid #000000\" src=balk.gif height=7 width="; 
echo (round(($votes[$i] / $totaal) * 100, 1)); 
echo "> $votes[$i] "; 

if ($votes[$i] == "1") { echo "stem"; } else { echo "stemmen"; } 

echo "<br>\n"; 
echo "          </td>\n"; 
echo "        </tr>\n"; 

} } 

echo "      \n\n"; 
echo "    </td>\n"; 
echo "  </tr>\n"; 
echo "\n\n"; 

} else { 

echo "<tr><td bgcolor=#ECECED valign=top bordercolor=#838383 class=c2><br>&nbsp;<b>$vraag<b><br><br>\n\n"; 
echo "\n</td></tr>"; 
echo " <form name=form method=post>\n"; 

for ($i = 0; $i < count($antwoord); $i++) { 

if ($antwoord[$i] == "") { echo ""; } else { 

echo "  <tr>\n"; 
echo "    <td bgcolor=#ECECED valign=top bordercolor=#838383 class=c2>\n"; 
echo "      <input type=radio name=stem value=\"$antwoord[$i]\" id=\"$antwoord[$i]\">\n";
echo "<label for=\"$antwoord[$i]\">$antwoord[$i]</label>"; 
echo "</td>\n"; 
echo "  </tr>\n"; 

} } 
 
echo "<tr><td bgcolor=#ECECED valign=top bordercolor=#838383 class=c3>&nbsp;<input style=\"\" type=submit value=\" Stem \"><br>\n"; 
echo "</form>\n\n</td></tr>"; 

} } 
?>

[ Voor 22% gewijzigd door Verwijderd op 24-08-2003 02:35 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Kun je misschien even
code:
1
[php] en [/php]

Om die PHP code heenzetten :?

Ik kan je code maar met moeite lezen, maar ik zou zeggen dat je je code overnieuw moet schrijven. Inclusief indenting, commentaar en codeblokken :) en zonder allemaal onnodige if-loops e.d.

En waarom een file die .ip.php heet en een file die ip.php heet :? daar zit je fout, doe voortaan copy+paste op je errors en type ze niet over, .ip.php bestaat gewoon niet 8)7

[ Voor 81% gewijzigd door supakeen op 24-08-2003 02:43 ]


Acties:
  • 0 Henk 'm!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op regel 65 open je .ip.php en op regel 20 ip.php

Oh, en zoals zmn al aangeeft, je kan het beste je code even een klein beetje herstructureren. Herschrijven lijkt mij wat overbodig, maar als je zorgt dat je op de juiste manier inspringt, en duidelijk "blokken" van code maak, maak je het voor jezelf een heel stuk gemakkelijker!

[ Voor 75% gewijzigd door elevator op 24-08-2003 02:45 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maakt geen verschil, was vergeten weg te halen net. Had net om te testen dit gedaan wat ik moest van jou ./ip.php maar werkte ook niet alleen slash weggehaald.

Wel gemakkelijker ja, maar de fouten gaan er niet van weg.

[ Voor 69% gewijzigd door Verwijderd op 24-08-2003 02:47 ]


Acties:
  • 0 Henk 'm!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Kan je bij zowel voor regel 11 als voor regel 65 dan dit eens toevoegen:

PHP:
1
2
3
4
5
if file_exists("ip.php") { 
   echo "Exists!" 
} else {
   echo "bestaat niet" 
}


en daaruit de output eens laten zien ?

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Luister maar naar ele :*

[ Voor 96% gewijzigd door supakeen op 24-08-2003 02:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Parse error: parse error, expecting `'('' in /home/pcinform/public_html/Tempsite/Includes/inc_menu_poll.php on line 11

Code werkt dus niet.

Ik luister altijd anders zou ik niks posten. Jij leest niet, die punt was ik vergeten weg te halen.

[ Voor 31% gewijzigd door Verwijderd op 24-08-2003 02:56 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Verwijderd schreef op 24 August 2003 @ 02:54:
Parse error: parse error, expecting `'('' in /home/pcinform/public_html/Tempsite/Includes/inc_menu_poll.php on line 11

Code werkt dus niet.

Ik luister altijd anders zou ik niks posten. Jij leest niet, die punt was ik vergeten weg te halen.
PHP:
1
2
3
4
5
if( file_exists( 'ip.php' ) ) {
   echo 'Exists!';
} else {
   echo 'bestaat niet';
}

Jij als PHP'er zult toch wel weten hoe je parse-errors weghaalt ;) elevator is geen PHP'er hij doet aan EleXer. Elevator is een schatje :*

[ Voor 9% gewijzigd door supakeen op 24-08-2003 02:59 ]


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

wat zijn de rechten op de 'Includes' directory en alle bovengelegen directories? Heb je daar wel leesrechten op? En kun je de rechten op 'poll.txt' controleren? Zijn deze 777?

En heb je daadwerkelijk een 'Includes' directory in de root van je schijf staan :? :X

[ Voor 44% gewijzigd door Spider.007 op 24-08-2003 11:08 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Stiekum is de fout heel simpel uit te leggen. De file bestaat inderdaad niet.

Wat er waarschijnlijk aan de hand is is dat pagina x.php wordt opgevraagd in de root.

Die include een bestand Includes/inc_menu_poll.php , als deze bestand ip.php probeert in te lezen moet die ip.php wel in de root staan anders zou hij netjes "Includes/ip.php" moeten inlezen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Topictitle fix0red, enne meneer Nellen: iets vriendelijker reageren op geboden hulp kan ook wel. Dat iemand de moeite neemt om jouw code te debuggen en fixes voor te stellen 'lijkt me' geen aanleiding om 'm te gaan afkraken als er een typfout in staat.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

Verwijderd schreef op 24 August 2003 @ 02:23:
Nope werkt niet, heel erg vreemd dit.

Ik zie nu in men erroorlog dat ie wel alles fout doet. Hij geeft onder andere deze fouten aan:
fopen(poll.txt): failed to open stream: Permission denied in /Includes/inc_menu_poll.php on line 24
Is dit nu zo moeilijk om uit te zoeken ? Het ding geeft nota bene aan wat het probleem is. Begin maar eens uit te zoeken hoe UNIX permissies werken, een bestand op mode 777 zetten zal je geen zak helpen indien het webserver proces geen rechten heeft om onderliggende directories te benaderen.

su, access en gewoon vi zijn de tools die je nodig hebt om dit op te lossen, daar valt verder weinig woorden aan vuil te maken.

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

Verwijderd schreef op 24 augustus 2003 @ 02:54:
Parse error: parse error, expecting `'('' in /home/pcinform/public_html/Tempsite/Includes/inc_menu_poll.php on line 11

Code werkt dus niet.
En ? Je kan toch ook wel bedenken dat er wat haakjes missen ? We zijn geen helpdesk die op jouw commando je problemen oplost. Zelf nadenken is niks mis mee.
Pagina: 1