[PHP[ file() geen problemen in Windows maar wel in Linux

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022
Ik heb mijn webserver verplaatst vanaf mijn Windows XP bak met IIS naar een vers geinstalleerde Debian bak met Apache2 en PHP5.

Nu heb ik het volgende in mijn script staan:
PHP:
1
$statsFile = file("./logs/mani_ranks.txt", "r") or die ("Bestand niet geladen");


Op de Windows bak werkte dit allemaal netjes. Alleen krijg ik nu de melding "Bestand niet geladen".

Het bestand bestaat wel want met een file_exists krijg ik een true terug. Ook de rechten moeten goed staan als het goed is (chmod 777 logs).

Zie ik nu iets over het hoofd? Ik heb ook mijn php.ini al nagekeken maar heb niets geks kunnen vinden.

[ Voor 10% gewijzigd door Ebayzo op 24-03-2005 16:46 ]

Default blanke hetero


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

EbAyzo schreef op donderdag 24 maart 2005 @ 16:44:
...
Het bestand bestaat wel want met een file_exists krijg ik een true terug. Ook de rechten moeten goed staan als het goed is (chmod 777 logs).
...
Die chmod 777 geldt alleen voor de directory 'logs'. Als het bestand dat je wilt openen geen leesrechten geeft voor de groep waarin de webserver zit, dan kun je het nog niet uitlezen.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022
JeRa schreef op donderdag 24 maart 2005 @ 16:46:
[...]

Die chmod 777 geldt alleen voor de directory 'logs'. Als het bestand dat je wilt openen geen leesrechten geeft voor de groep waarin de webserver zit, dan kun je het nog niet uitlezen.
Een chmod 777 op mani_ranks.txt heeft ook geen effect. Neem aan dat dat gewoon zo gaat
code:
1
chmod 777 mani_ranks.txt

[ Voor 11% gewijzigd door Ebayzo op 24-03-2005 16:48 ]

Default blanke hetero


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Er gaat trouwens iets mis met je code. Kijk eens op deze pagina:

http://nl3.php.net/file

Het tweede argument van file() is een use_include_path parameter, ik denk niet dat je die wilt gebruiken.

[ Voor 4% gewijzigd door JeRa op 24-03-2005 16:50 ]

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022
JeRa schreef op donderdag 24 maart 2005 @ 16:49:
Er gaat trouwens iets mis met je code. Kijk eens op deze pagina:

http://nl3.php.net/file

Het tweede argument van file() is een use_include_path parameter, ik denk niet dat je die wilt gebruiken.
Maar hoe verklaar jij dan dat de code wel op een XP bak met IIS en PHP4 werkte?

Default blanke hetero


Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
jij bedoeld fopen, daar moet je idd een attibute (noemen ze zo geloof ik, staat wel op php.net).

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
@JeRa: Idd. Volgens mij haalt de TS file en fopen door elkaar.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Pollus
  • Registratie: Juni 2004
  • Laatst online: 05-09-2022
Check ook even of je niet ergens per ongeluk hoofdletters in je bestand hebt staan...

Windows doet daar niet moeilijk over, linux wel.

Pollus


Acties:
  • 0 Henk 'm!

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022
Ghehehe...wat stom! Hij werkt nu inderdaad. Het klopt ook wel want ik gebruikte in de eerste versie van het script namelijk fopen. Maar kan iemand mij uitleggen waarom precies hetzelfde script wel goed werkte op mijn vorige configuratie?

Bedankt in iedergeval JeRa!

Default blanke hetero


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

EbAyzo schreef op donderdag 24 maart 2005 @ 16:51:
[...]
Maar hoe verklaar jij dan dat de code wel op een XP bak met IIS en PHP4 werkte?
Ik verklaar dat door te zeggen dat file() in PHP4 anders is geïmplementeerd dan in PHP5. Maar who cares, het is gewoon fout in beide versies :) die parameter behoort óf leeg te zijn ófwel "1", maar zeker geen "r".

[ Voor 6% gewijzigd door JeRa op 24-03-2005 16:55 ]

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022
JeRa schreef op donderdag 24 maart 2005 @ 16:55:
[...]

Ik verklaar dat door te zeggen dat file() in PHP4 anders is geïmplementeerd dan in PHP5. Maar who cares, het is gewoon fout in beide versies :) die parameter behoort óf leeg te zijn ófwel "1", maar zeker geen "r".
Nee precies! * Ebayzo heeft een bug gevonden...

Maar ik ben weer blij :) Alles werkt nu op Debian! Gehhehe...ik ben trots op mezelf :P

[ Voor 15% gewijzigd door Ebayzo op 24-03-2005 17:04 ]

Default blanke hetero


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

EbAyzo schreef op donderdag 24 maart 2005 @ 17:04:
Nee precies! * Ebayzo heeft een bug gevonden...
De string 'r' evalueert, net als 1, naar true, aangezien alles dat niet 0 is evalueert naar true. Vandaar zou ik het geen bug willen noemen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

include_path is gewoon een onding. Er is niets verwarrender dan de manier waarop php met het resolven van files omgaat.

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


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

drm schreef op donderdag 24 maart 2005 @ 18:24:
include_path is gewoon een onding. Er is niets verwarrender dan de manier waarop php met het resolven van files omgaat.
Voor sommigen kan het een extra functionaliteit betekenen. Het zit hem maar net in de afweging tussen goede functies die doen wat ze doen moeten en het leveren van functionaliteit waarmee ook de iets luiere scripters meer mee kunnen behalen :) wat mij betreft hadden ze dat hele file() eruit gelaten.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

JeRa schreef op donderdag 24 maart 2005 @ 18:33:
wat mij betreft hadden ze dat hele file() eruit gelaten.
Ik denk dat het er gedeeltelijk wegens backwards compatibility in blijft, en voor een deel omdat het in sommige gevallen handig kan zijn. Voor statistieken bijvoorbeeld:
PHP:
1
2
$file_array = file('stats.txt');
$som = array_sum($file_array);

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1