bestand maken met php
ik ben beland in het hoofdstuk bestanden en mappen..
ik geloof dat ik iets niet helemlaal goed doe
ik wil een tekstbestand aanmaken d.m.v php
hiervoor gebruik ik deze code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
//variabel voor bestand maken
$bestandsnaam = "artikelen.txt";
// open en als deze niet bestaat maak aan
$filehandle = fopen($bestandsnaam, "w");
//schrijf wat regels in het bestand
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
//sluit het bestand
fclose($filehandle);
?>
//variabel voor bestand maken
$bestandsnaam = "artikelen.txt";
// open en als deze niet bestaat maak aan
$filehandle = fopen($bestandsnaam, "w");
//schrijf wat regels in het bestand
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
//sluit het bestand
fclose($filehandle);
?>
als ik dit uitvoer en ik kijk via ftp of er een bestand is aangemaakt vind ik niks, ook als ik naar www.blablabla.nl/artikelen.txt surf staat er HELAAS
ik heb dit geschreven om te kijke of ie bestaat
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if (file_exists("artikelen.txt")) {
echo " bestaat";
}
else {
echo "bestaat niet";
}
?>
if (file_exists("artikelen.txt")) {
echo " bestaat";
}
else {
echo "bestaat niet";
}
?>
dit zegt dan ook bestaat niet..
waarom maak het script geen bestand aan?
tnks
Gewijzigd op 15/03/2012 13:00:24 door Raymond de graaf
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
Warning: fwrite() expects parameter 1 to be resource, boolean given in
E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 9
Warning: fwrite() expects parameter 1 to be resource, boolean given in
E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 10
Warning: fclose() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 11
bestaat niet
het scriptje staat in de map gegevens ( deze heb ik op 777 gezet || ook 666 geprobeerd)
ik begrijp ni waarom het niet werkt
Gewijzigd op 15/03/2012 13:21:28 door raymond de graaf
Je moet hier het absolute pad aan toevoegen. Zoiets als:
$bestandsnaam = "E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\artikelen.txt";
Gewijzigd op 15/03/2012 13:37:37 door Ozzie PHP
het is het proberen zeker waard!
if (file_exists("artikelen.txt"))
en dan hoort er een absoluut pad voor.
Warning: fwrite() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 9
Warning: fwrite() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 10
Warning: fclose() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 11
dit lost het dus ook al niet op, heb ook raydegraaf.nl\wwwroot\gegevens\artikelen.txt geprobeerd en gegevens\artikelen.txt
lijken me allemaal goede paden
wat kan het nou zijn in hemelsnaam! misschien aan instellingen van mijn hostingsbedrijf?
Toevoeging op 15/03/2012 13:47:11:
Ozzie PHP op 15/03/2012 13:44:38:
Ja maar hier controleer je of het bestand bestaat:
if (file_exists("artikelen.txt"))
en dan hoort er een absoluut pad voor.
if (file_exists("artikelen.txt"))
en dan hoort er een absoluut pad voor.
ik heb dit nu (werkt niet)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "raydegraaf.nl\wwwroot\gegevens\artikelen.txt";
$filehandle = fopen($bestandsnaam, "A");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
if (file_exists("raydegraaf.nl\wwwroot\gegevens\artikelen.txt")) {
echo " bestaat";
}
else {
echo "bestaat niet";
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "raydegraaf.nl\wwwroot\gegevens\artikelen.txt";
$filehandle = fopen($bestandsnaam, "A");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
if (file_exists("raydegraaf.nl\wwwroot\gegevens\artikelen.txt")) {
echo " bestaat";
}
else {
echo "bestaat niet";
}
?>
Gewijzigd op 15/03/2012 14:05:37 door raymond de graaf
Ozzie PHP op 15/03/2012 13:37:20:
Je moet hier het absolute pad aan toevoegen.
Nee, hoeft niet.
Het komt dan in dezelfde map als waar het scriptje staat. De map waarim het scriptje staat moet dan 755 rechten hebben. En de owner moet dan de user zijn waaronder apache draait.
is er nog een andere manier op de chmod uit te voeren op deze map?
begin me behoorlijk te frustreren!
Als jij het script upload dan ben jij de owner en niet apache. En dan zou je de rechten van de map op 777 moeten zetten.
verder heb ik zelfstandig een tekstdocument aangemaakt emt de naam artikelen.txt
nog steeds deze erros
Warning: fopen(raydegraaf.nl\wwwroot\gegevens\artikelen.txt): failed to open stream: No error in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 8 Warning: fwrite() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 9 Warning: fwrite() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 10 Warning: fclose() expects parameter 1 to be resource, boolean given in E:\HostingSpaces\Degraaf5\raydegraaf.nl\wwwroot\gegevens\art_best.php on line 11
:(
kan het ni gewoon aan de server liggen?
Welke rechten heeft artikelen.txt en staat dat in dezelfde map als het scriptje? Gebruik dan gewoon alleen 'artikelen.txt'.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "artikelen.txt";
$filehandle = fopen($bestandsnaam, "W");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "artikelen.txt";
$filehandle = fopen($bestandsnaam, "W");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
?>
txt bestand op 777
en filezilla zegt dit:
Status: Verbonden
Status: Rechten verzetten van '/raydegraaf.nl/wwwroot/gegevens/artikelen.txt' naar '777'
Commando: CWD /raydegraaf.nl/wwwroot/gegevens
Antwoord: 250 CWD successful. "/raydegraaf.nl/wwwroot/gegevens" is current directory.
Commando: SITE CHMOD 777 artikelen.txt
Antwoord: 504 Command not implemented for that parameter
ik weet dus niet zeker of het nou wel daadwerkelijk op 777 gezet word.
in mijn optiek kan het probleem alleen maar zijn dat de chmod gewoon niet word toegepast en daardoor het script niks mag.
Gewijzigd op 15/03/2012 14:45:11 door raymond de graaf
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
45
46
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function getmod($filename) {
$val = (is_dir($filename)) ? 'd' : '-';
$perms = fileperms($filename);
// Owner; User
$val .= ($perms & 0x0100) ? 'r' : '-'; //Read
$val .= ($perms & 0x0080) ? 'w' : '-'; //Write
$val .= ($perms & 0x0040) ? 'x' : '-'; //Execute
// Group
$val .= ($perms & 0x0020) ? 'r' : '-'; //Read
$val .= ($perms & 0x0010) ? 'w' : '-'; //Write
$val .= ($perms & 0x0008) ? 'x' : '-'; //Execute
// Global; World
$val .= ($perms & 0x0004) ? 'r' : '-'; //Read
$val .= ($perms & 0x0002) ? 'w' : '-'; //Write
$val .= ($perms & 0x0001) ? 'x' : '-'; //Execute
return $val;
}
$currentdir = './';
if ($dir = opendir($currentdir))
{
echo '<pre>';
$array = array();
while (($file = readdir($dir)) !== false)
{
$stat = stat($currentdir . $file);
$array[$file] = getmod($currentdir . $file) . str_pad($stat['uid'], 6, ' ', STR_PAD_LEFT) . str_pad($stat['gid'], 6, ' ', STR_PAD_LEFT) . str_pad($stat['size'], 10, ' ', STR_PAD_LEFT) . ' ' . date('d-m-Y H:i:s', $stat['mtime']);
}
ksort($array);
foreach($array as $key => $value)
{
echo $value . ' ' . $key . '<br />';
}
echo '</pre>';
closedir($dir);
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function getmod($filename) {
$val = (is_dir($filename)) ? 'd' : '-';
$perms = fileperms($filename);
// Owner; User
$val .= ($perms & 0x0100) ? 'r' : '-'; //Read
$val .= ($perms & 0x0080) ? 'w' : '-'; //Write
$val .= ($perms & 0x0040) ? 'x' : '-'; //Execute
// Group
$val .= ($perms & 0x0020) ? 'r' : '-'; //Read
$val .= ($perms & 0x0010) ? 'w' : '-'; //Write
$val .= ($perms & 0x0008) ? 'x' : '-'; //Execute
// Global; World
$val .= ($perms & 0x0004) ? 'r' : '-'; //Read
$val .= ($perms & 0x0002) ? 'w' : '-'; //Write
$val .= ($perms & 0x0001) ? 'x' : '-'; //Execute
return $val;
}
$currentdir = './';
if ($dir = opendir($currentdir))
{
echo '<pre>';
$array = array();
while (($file = readdir($dir)) !== false)
{
$stat = stat($currentdir . $file);
$array[$file] = getmod($currentdir . $file) . str_pad($stat['uid'], 6, ' ', STR_PAD_LEFT) . str_pad($stat['gid'], 6, ' ', STR_PAD_LEFT) . str_pad($stat['size'], 10, ' ', STR_PAD_LEFT) . ' ' . date('d-m-Y H:i:s', $stat['mtime']);
}
ksort($array);
foreach($array as $key => $value)
{
echo $value . ' ' . $key . '<br />';
}
echo '</pre>';
closedir($dir);
}
?>
drwxrwxrwx 0 0 0 15-03-2012 17:03:06 .
drwxrwxrwx 0 0 4096 14-03-2012 21:44:07 .
-rw-rw-rw- 0 0 346 15-03-2012 16:42:18 art_best.php
-rw-rw-rw- 0 0 238 15-03-2012 16:17:06 artikelen.txt
-rw-rw-rw- 0 0 1350 15-03-2012 17:03:06 permission.php
ik kan dus wel stellen dat hij wel op de goede chmod staat als ik het goed begrijp
ben al heel de dag bezig met een txt bestand te maken met php in zulk mooi weer
super bedankt voor alle hulp!
zijn er nog andere mogelijkheden waarom het niet werkt?
Toevoeging op 15/03/2012 15:13:39:
oke heeel bizar
heb het originele script uit de bijgeleverde map gehaald deze
Code (php)
en de mijne:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
ini_set('display_errors', 0); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "artikelen.txt";
$filehandle = fopen($bestandsnaam, "W");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
?>
ini_set('display_errors', 0); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$bestandsnaam = "artikelen.txt";
$filehandle = fopen($bestandsnaam, "W");
fwrite($filehandle, "Artikel 1: Leer jezelf proffesioneel.. PHP, prijs: 24.90\n");
fwrite($filehandle, "Artikel 2: Notebook pentium, prijs 998,00");
fclose($filehandle);
?>
ik zie het verschil niet :S
het rare is de 1e werkt de 2e niet! nu breekt helemaal me klomp
En wat zegt dit scriptje?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$filename = 'artikelen.txt';
if (is_readable($filename)) {
echo 'The file is readable';
} else {
echo 'The file is not readable';
}
if (is_writable($filename)) {
echo 'The file is writable';
} else {
echo 'The file is not writable';
}
?>
$filename = 'artikelen.txt';
if (is_readable($filename)) {
echo 'The file is readable';
} else {
echo 'The file is not readable';
}
if (is_writable($filename)) {
echo 'The file is writable';
} else {
echo 'The file is not writable';
}
?>
Toevoeging op 15/03/2012 15:22:33:
Raymond de graaf op 15/03/2012 15:06:26:
$filehandle = fopen($bestandsnaam, "w");
$filehandle = fopen($bestandsnaam, "W");
ik zie het verschil niet
$filehandle = fopen($bestandsnaam, "W");
ik zie het verschil niet
Ik wel. ;-)
tnks!
ik ga me spull inpakke en naar huis! einde kazerne voor deze week :)