[PHP] fopen() geeft fout

Pagina: 1
Acties:

  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Ik probeer een bestand aan te maken, maar ik krijg de onderstaande foutmelding. Het gaat om een phpscript dat ik vanaf de commandline uit voer.
Als ik gewoon een file aan maak lukt het wel... Ik zie dus niet wat er fout gaat Wie heeft een idee?

boel:~/scripts/manual > ./dir.php
<br>
<b>Warning</b>: fopen("/home/boel/html/../test/dit\ is\ een/test/index.php","w") - No such file or directory in <b>./dir.php</b> on line <b>61</b><br>
boel:~/scripts/manual > echo "" > /home/boel/html/../test/dit\ is\ een/test/index.php
boel:~/scripts/manual >

None


  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 13:22

AW_Bos

Nostalgicus 🕰

geen schrijfrecht misschien?

Bestaat de file wel echt?

Akn je ff de tags eruit halen.... lastig te lezen!

"Je kan met alle ziel en zaligheid ergens aan werken, maar soms is de uitkomst een zaal vol zieligheid." - Ariën


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Hij geeft een foutmelding dat het bestand niet bestaat. Kijk ff in de manual naar wat er bij de verschillende modes staat. Bij sommigen moet het bestand namelijk al bestaan.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Op dinsdag 07 mei 2002 12:35 schreef AW_Bos het volgende:
geen schrijfrecht misschien?
Ik kan daarna met echo "" > ... wel een bestand wegschrijven, dus ik neem aan dat de rechten goed staan. Het scriptje draait onder dezelfde user als het echo-commando daarna.
Bestaat de file wel echt?
Nee, bestand bestaat niet. Volgens de documentatie zou php het bestand aan moeten maken als het niet bestaat.
Akn je ff de tags eruit halen.... lastig te lezen!
Sorry, leek mij wel zo handig om het probleem zo duidelijk mogelijk te maken. PHP geeft ook als commandline versie html mee in zijn foutmeldingen.

None


  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Op dinsdag 07 mei 2002 12:38 schreef Janoz het volgende:
Hij geeft een foutmelding dat het bestand niet bestaat. Kijk ff in de manual naar wat er bij de verschillende modes staat. Bij sommigen moet het bestand namelijk al bestaan.
Ik heb het geprobeerd door het bestand er gewoon neer te zetten (even chmod 777 voor de zekerheid), maar met hetzelfde resultaat.

None


  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Op dinsdag 07 mei 2002 12:29 schreef reddevil001 het volgende:

boel:~/scripts/manual > ./dir.php
<br>
<b>Warning</b>: fopen("/home/boel/html/../test/dit\ is\ een/test/index.php","w") - No such file or directory in <b>./dir.php</b> on line <b>61</b><br>
boel:~/scripts/manual > echo "" > /home/boel/html/../test/dit\ is\ een/test/index.php
boel:~/scripts/manual >
Volgens mij gaat hij onderuit op het gebruik va spaties en de combinatie van \ en / dat kan nooit goed zijn, toch :?

  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Op dinsdag 07 mei 2002 13:33 schreef M4rt1nvW het volgende:

[..]

Volgens mij gaat hij onderuit op het gebruik va spaties en de combinatie van \ en / dat kan nooit goed zijn, toch :?
Lijkt me sterk, want ik laat met hetzelfde script de directories aanmaken en dat gaat wel goed. Bovendien heb ik het in dit geval ook handmatig geprobeerd met al die slashes.
Ik begrijp er echt helemaal niets meer van...

None


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 11:02
Backslashes uit je bestandsnaam halen.

Krankzinnig! Tegen alle conventies in, wordt in PHP het backslash karakter gewoon weergegeven als je er een niet-speciaal karakter mee escaped.

Zie ook:
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

Nu probeer je een bestand met backslashes IN DE NAAM te openen en dat schijnt niet te kunnen. In je filesystem is dat geen probleem, maar blijkbaar vind PHP dat niet leuk, aangezien 'ie de backslash ook als directory-seperator ziet.

  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Op dinsdag 07 mei 2002 20:00 schreef Soultaker het volgende:
Backslashes uit je bestandsnaam halen.

Krankzinnig! Tegen alle conventies in, wordt in PHP het backslash karakter gewoon weergegeven als je er een niet-speciaal karakter mee escaped.

Zie ook:
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

Nu probeer je een bestand met backslashes IN DE NAAM te openen en dat schijnt niet te kunnen. In je filesystem is dat geen probleem, maar blijkbaar vind PHP dat niet leuk, aangezien 'ie de backslash ook als directory-seperator ziet.
Joepie de oplossing... daar had ik nog niet aan gedacht, dacht ik. Meteen geprobeerd, maar ook dit blijkt niet het probleem te zijn.

Dezelfde foutmelding blijft bestaan.

None


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

euhhh
code:
1
2
3
4
5
/home/boel/html/../test/dit\ is\ een/test/index.php
                    ^   ^
                    \___/
                    |
         Hier staan dus spaties

Laat me raden. De directories bestaan ook nog niet, want je hebt geen directories aangemaakt, waar spaties in voorkomen.

am i right :?

for the record:
Bestand wordt wel aangemaakt als het niet bestaat, maar directory niet.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • igmar
  • Registratie: April 2000
  • Laatst online: 16:13

igmar

ISO20022

Krankzinnig! Tegen alle conventies in, wordt in PHP het backslash karakter gewoon weergegeven als je er een niet-speciaal karakter mee escaped.
Zo krankzinnig is het niet. Escapes worden door de shell gedaan, niet door de low-level fopen() of open() functies.

Verwijderd

Op dinsdag 07 mei 2002 23:29 schreef drm het volgende:
Laat me raden. De directories bestaan ook nog niet, want je hebt geen directories aangemaakt, waar spaties in voorkomen.
Lijkt mij ook, het staat er zelfs: "No such file or directory" ...

  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 07-09 23:02
Op dinsdag 07 mei 2002 23:29 schreef drm het volgende:
euhhh
code:
1
2
3
4
5
/home/boel/html/../test/dit\ is\ een/test/index.php
                    ^   ^
                    \___/
                    |
         Hier staan dus spaties

Laat me raden. De directories bestaan ook nog niet, want je hebt geen directories aangemaakt, waar spaties in voorkomen.
Nee, in mijn eerste post heb ik al laten zien dat ik vanaf de commandline met echo gewoon het bestand kan aanmaken.
code:
1
boel:~/scripts/manual > echo "" > /home/boel/html/../test/dit\ is\ een/test/index.php

Maar goed, ik heb nu maar alle spaties veranderd in underscores...

None

Pagina: 1