bestand maken met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond de graaf

raymond de graaf

15/03/2012 12:50:44
Quote Anchor link
hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

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
 
PHP hulp

PHP hulp

21/11/2024 23:11:52
 
Ozzie PHP

Ozzie PHP

15/03/2012 13:05:42
Quote Anchor link
Kijk of de schrijfrechten van de directory wel goed zijn ingesteld.

Hier wat info over schrijfrechten: http://www.antagonist.nl/help/nl/webhosting/security/chmod
 
- SanThe -

- SanThe -

15/03/2012 13:08:38
Quote Anchor link
Zet dit bovenin je script dan zie je wat er gebeurt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>
 
Raymond de graaf

raymond de graaf

15/03/2012 13:19:48
Quote Anchor link
Warning: fopen(artikelen.txt): failed to open stream: Permission denied 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

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
 
Ozzie PHP

Ozzie PHP

15/03/2012 13:37:20
Quote Anchor link
$bestandsnaam = "artikelen.txt";

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
 
Raymond de graaf

raymond de graaf

15/03/2012 13:39:45
Quote Anchor link
ik ga het eens proberen, ik heb wel gelezen in me boek dat dit alleen is om zeker te weten dat het script ook naar de juiste locatie schrijft.. anders in de map waar het uitgevoerd word.

het is het proberen zeker waard!
 
Ozzie PHP

Ozzie PHP

15/03/2012 13:44:38
Quote Anchor link
Ja maar hier controleer je of het bestand bestaat:

if (file_exists("artikelen.txt"))

en dan hoort er een absoluut pad voor.
 
Raymond de graaf

raymond de graaf

15/03/2012 13:44:58
Quote Anchor link
Warning: fopen(E:\HostingSpaces\Degraaf5 aydegraaf.nl\wwwroot\gegevens\artikelen.txt): failed to open stream: No such file or directory 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

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.


ik heb dit nu (werkt niet)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
}

?>
Gewijzigd op 15/03/2012 14:05:37 door raymond de graaf
 
- SanThe -

- SanThe -

15/03/2012 13:47:45
Quote Anchor link
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.
 
Raymond de graaf

raymond de graaf

15/03/2012 13:59:17
Quote Anchor link
ik betwijfel of filezilla het mapje wel echt op 755 zet, want verder zou dit script toch gewoon moeten werken?

is er nog een andere manier op de chmod uit te voeren op deze map?

begin me behoorlijk te frustreren!
 
- SanThe -

- SanThe -

15/03/2012 14:06:29
Quote Anchor link
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.
 
Raymond de graaf

raymond de graaf

15/03/2012 14:19:38
Quote Anchor link
ik heb nu de map root op 777 en alle sub mappen 777 en nog steeds werkt dit klote ding niet..

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?
 
- SanThe -

- SanThe -

15/03/2012 14:24:29
Quote Anchor link
Welke rechten heeft artikelen.txt en staat dat in dezelfde map als het scriptje? Gebruik dan gewoon alleen 'artikelen.txt'.
 
Raymond de graaf

raymond de graaf

15/03/2012 14:41:52
Quote Anchor link
zelfde mapje als dit script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);

?>


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
 
- SanThe -

- SanThe -

15/03/2012 14:50:36
Quote Anchor link
Zet dit script in dezelfde map en noem het 'permission.php'. Daarna open je het in de browser. Je ziet dan de rechten van alle bestanden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
}


?>
 
Raymond de graaf

raymond de graaf

15/03/2012 15:06:26
Quote Anchor link
handig zeg!

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$bestandsnaam
= "artikelen.txt";
$filehandle = fopen($bestandsnaam, "w");
fwrite($filehandle, "Artikel 1: Leer gemakkelijk PHP, prijs: 19.90\n");
fwrite($filehandle, "Artikel 2: Notebook Pentium, prijs: 1339,00");
fclose($filehandle);
?>


en de mijne:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);

?>


ik zie het verschil niet :S

het rare is de 1e werkt de 2e niet! nu breekt helemaal me klomp
 
- SanThe -

- SanThe -

15/03/2012 15:19:31
Quote Anchor link
Het zou inderdaad zo te zien moeten werken.
En wat zegt dit scriptje?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>


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


Ik wel. ;-)
 
Raymond de graaf

raymond de graaf

15/03/2012 15:51:01
Quote Anchor link
ik had ze allebei al geprobeerd in me boek staat het echter ook met een hoofdletter en de w+ met een kleine!

tnks!

ik ga me spull inpakke en naar huis! einde kazerne voor deze week :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.