Failed to open stream na opnieuw opstarten pc
Ik heb een probleem met het opniew openen van een .txt bestand.
Gisteren werkte het,vandaag krijg ik deze melding:
Warning: file(C:Program Files(x86)\wamp\www\php_sandbox2\chapter03\Orders\orders.txt) [function.file]: failed to open stream: No such file or directory in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 15
Notice: Undefined offset: 1 in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 39
Notice: Undefined offset: 2 in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 40
Notice: Undefined offset: 3 in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 41
Notice: Undefined offset: 4 in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 49
Notice: Undefined offset: 5 in C:\Program Files (x86)\wamp\www\php_sandbox2\chapter03\vieworders2.php on line 50
Ik heb niets veranderd ann wat voor setup dan ook, alleen opnieuw opgestart
Ik ben net 5 dgn bezig met php an kom aan leren bijna niet toe door allerlei
problemen waarop ik stuit.
Het txt bestand, waar ik een array van moet maken is nog op dezelfde locatie,
Ik hoop dat iemand mij kan bijstaan in deze "harde" PHP dagen.
alvast bedankt
hier de code:
<html>
<head>
<title>Bob's Auto Parts - Customer Orders</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Customer Orders</h2>
Code (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
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
<?php
//Read in the entire file.
//Each order becomes an element in the array
$orders= file("C:Program Files(x86)\\wamp\\www\\php_sandbox2\\chapter03\\Orders\\orders.txt");
// count the number of orders in the array
$number_of_orders = count($orders);
if ($number_of_orders == 0) {
echo "<p><strong>No orders pending.
Please try again later.</strong></p>";
}
echo "<table border=\"1\">\n";
echo "<tr><th bgcolor=\"#CCCCFF\">Order Date</th>
<th bgcolor=\"#CCCCFF\">Tires</th>
<th bgcolor=\"#CCCCFF\">Oil</th>
<th bgcolor=\"#CCCCFF\">Spark Plugs</th>
<th bgcolor=\"#CCCCFF\">Total</th>
<th bgcolor=\"#CCCCFF\">Address</th>
<tr>";
for ($i=0; $i<$number_of_orders; $i++) {
//split up each line
$line=explode("\t",$orders[$i]);
// keep only the number of items ordered
$line[1] = intval($line[1]);
$line[2] = intval($line[2]);
$line[3] = intval($line[3]);
// output each order
echo "<tr>
<td>".$line[0]."</td>
<td align=\"right\">".$line[1]."</td>
<td align=\"right\">".$line[2]."</td>
<td align=\"right\">".$line[3]."</td>
<td align=\"right\">".$line[4]."</td>
<td>".$line[5]."</td>
</tr>";
}
echo "</table>";
?>
//Read in the entire file.
//Each order becomes an element in the array
$orders= file("C:Program Files(x86)\\wamp\\www\\php_sandbox2\\chapter03\\Orders\\orders.txt");
// count the number of orders in the array
$number_of_orders = count($orders);
if ($number_of_orders == 0) {
echo "<p><strong>No orders pending.
Please try again later.</strong></p>";
}
echo "<table border=\"1\">\n";
echo "<tr><th bgcolor=\"#CCCCFF\">Order Date</th>
<th bgcolor=\"#CCCCFF\">Tires</th>
<th bgcolor=\"#CCCCFF\">Oil</th>
<th bgcolor=\"#CCCCFF\">Spark Plugs</th>
<th bgcolor=\"#CCCCFF\">Total</th>
<th bgcolor=\"#CCCCFF\">Address</th>
<tr>";
for ($i=0; $i<$number_of_orders; $i++) {
//split up each line
$line=explode("\t",$orders[$i]);
// keep only the number of items ordered
$line[1] = intval($line[1]);
$line[2] = intval($line[2]);
$line[3] = intval($line[3]);
// output each order
echo "<tr>
<td>".$line[0]."</td>
<td align=\"right\">".$line[1]."</td>
<td align=\"right\">".$line[2]."</td>
<td align=\"right\">".$line[3]."</td>
<td align=\"right\">".$line[4]."</td>
<td>".$line[5]."</td>
</tr>";
}
echo "</table>";
?>
</body>
</html>
Gewijzigd op 17/11/2010 14:00:45 door Mark de Grebber
Dit is geen correct path.
C: => C:\
Program Files(x86) => Geen spaties en zeker geen haakjes gebruiken.
\\ => \ dus niet dubbel.
Gebruik enkele quotes dan hoef je niet te escapen.
Toevoeging op 17/11/2010 14:14:28:
Het is een lokaal path, het is geen url, hoe zou ik het pad anders op moeten geven ?
Toevoeging op 17/11/2010 14:24:53:
Ik heb het pad op verschillen manieren opgegeven,zonder succes, ik moet in m'n Program Files(86) folder beginnen.
als ik een dynamisch pad invul en begin met ../chapter03/Orders/orders.txt, kom ik er ook niet.
../file.txt is 1 map terug
../../file.txt is 2 mappen terug
mapnaam/file.txt is 1 map verder
mapnaam/mapnaam/file.txt is 2 mappen verder
Enz.
Ik vraag me af of het aan m,n WAMP localhost ligt, dat daar de fout zit.
Gisteren werd het txt bestand wel geopend, vandaag niet,terwijl ik niets veranderd heb.
Gooi je code eens tussen code-tags, dat maakt het beter leesbaarder.
En heeft het nog de juiste rechten?
Ik heb dit letterlijk uit PHP and MYSQL Webdevelopment 4th edition book overgenomen
en probeer de code stap voor stap te ontleden en begrijpen.
Programeren is nieuw voor mij ,ben alleen goed bekend met CSS an XHTML.
Maar ik neem aan dat je de <php ?> tags bedoeld ?
Toevoeging op 17/11/2010 14:43:43:
Ja heb ik ownership over en 't is er nog
Mark de Grebber op 17/11/2010 14:43:06:
Ja heb ik ownership over en 't is er nog
Jij, of Apache? Als het jouw bestandje is dan zal Apache daar weinig mee mogen doen.
Dus erg bedankt voor jullie tijd.
Toevoeging op 17/11/2010 14:52:10:
Ik heb ownership afgedwongen,vandaag omdat het op de normale manier niet meer werkte.
Wil dat zeggen dat als, Ik owner ben , Apache er niets meer mee kan dan ?
Gewijzigd op 17/11/2010 14:49:46 door Mark de Grebber
al geprobeerd of het wel werkt als je het tussen single quotes zet? dus
Toevoeging op 17/11/2010 14:59:25:
Teun Hesseling op 17/11/2010 14:52:25:
al geprobeerd of het wel werkt als je het tussen single quotes zet? dus
Single quote doet ook nix,
Zal misschien toch een bevoegdheid probleem zijn.
enig idee hoe ik apache weer de rechten terug geef ?
Gewijzigd op 17/11/2010 15:01:36 door Mark de Grebber
hoe ziet trouwen je file stukje er nu uit? want als jij niks veranderd hebt aan de rechten zal dat het probleem wel niet zijn...
Code (php)
1
2
3
4
2
3
4
<?php
//Read in the entire file.
//Each order becomes an element in the array
$orders= file('C:/Program Files(x86)/wamp/www/php_sandbox2/chapter03/Orders/orders.txt');
//Read in the entire file.
//Each order becomes an element in the array
$orders= file('C:/Program Files(x86)/wamp/www/php_sandbox2/chapter03/Orders/orders.txt');
Toevoeging op 17/11/2010 15:06:35:
Sorry, je hebt Windows.
Geef het bestandje lees- en schrijfrechten voor iedereen.
Toevoeging op 17/11/2010 15:09:47:
- SanThe - op 17/11/2010 15:05:16:
Geef het bestandje eens 666 rechten.
Toevoeging op 17/11/2010 15:06:35:
Sorry, je hebt Windows.
Geef het bestandje lees- en schrijfrechten voor iedereen.
Toevoeging op 17/11/2010 15:06:35:
Sorry, je hebt Windows.
Geef het bestandje lees- en schrijfrechten voor iedereen.
Voor het txt bestandje hebben 'system', 'admin' en 'user' alle rechten
Gewijzigd op 17/11/2010 15:11:51 door Mark de Grebber
Mark de Grebber op 17/11/2010 15:07:08:
Voor het txt bestandje hebben 'system', 'admin' en 'user' alle rechten
Voor het txt bestandje hebben 'system', 'admin' en 'user' alle rechten
Dan mis je 'everyone' of 'world' of weet ik hoe Windows dat noemt.
Er is geen everyone optie.
Read only is uitgevinkt dus dat betekent dat iedereen read en write rechten heeft.
Gewijzigd op 17/11/2010 15:21:18 door Mark de Grebber
Read is geen write. Geef alle gebruikers eens full control en kijk of dat helpt.
- SanThe - op 17/11/2010 15:24:13:
Read is geen write. Geef alle gebruikers eens full control en kijk of dat helpt.
Ik heb 4 gebruikers
1 SYSTEM
2 Lechuque(Lechuque-PC\Gebruikers)
3 Administrators (Lechuque-PC\Gebruikers)
4 Gebruikers(Lechuque-PC\Gebruikers)
Allemaal Full controll
moet ik misschien Apache aan de lijst toevoegen ?
zou niet weten hoe.
Gewijzigd op 17/11/2010 15:32:45 door Mark de Grebber
Kan je doen. Hoewel Apache natuurlijk onder gebruikers valt. Het kan in ieder geval geen kwaad en je weet dan zeker dat Apache de juiste rechten heeft.