Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP fopen Problem

Empfohlene Antworten

Veröffentlicht

hallo jungs und mäidls,

bei mir lauft jetzt endlich mod_php4 auf SuSe 7.3. da freut man sich richtig das man loslegen kann....

und dann kann man nicht mal ne datei öffnen:

$mypasswd = fopen("passwd","r") || die("Konnte die Passwortdatei nicht oeffen!");

so öffne ich die datei die sich in dem lokalen Verz. befindet. Es gibt keine Fehlermeldung zurück also denk ich mir mal sie ist geöffnet. oder ???

naja sobald ich auf das filehandle $mypasswd zugreifen will sei es nur um es wieder zu schließen:

fclose($mypasswd);

gibts diese Fehlermeldung zurück:

Warning: Supplied argument is not a valid File-Handle resource in /www/htdocs/squid/admin/auth.php on line 22

ziemlich komisch würde ich sagen.

Rechte auch das verzeichniss squid:

drwxrwxrwx 3 root root 56 Mar 14 14:40 squid

Rechte auf verzeichniss admin:

drwxrwxrwx 2 root root 81 Mar 15 10:55 admin

Rechte auf die Files:

-rwxrwxrwx 1 root root 588 Mar 15 10:49 auth.php

-rwxrwxrwx 1 root root 21 Mar 14 14:40 passwd

wenn man sich das filehandle $mypasswd ausgeben läßt

steht 1 da. is das TRUE oder FALSE oder Normal??????

was geht????

unser admin kann mir auch nicht helfen.

kennt wer das problem

danke für jede antwort

servas

R==T

Original geschrieben von root@localhost

bei mir lauft jetzt endlich mod_php4 auf SuSe 7.3. da freut man sich richtig das man loslegen kann....

Es ist immer noch Suse...

und dann kann man nicht mal ne datei öffnen:

Kann man, wenn man nichts falsch macht.

$mypasswd = fopen("passwd","r") || die("Konnte die Passwortdatei nicht oeffen!");

Das Skript stirbt an dieser Stelle nicht, also sollte alles Funktionieren.

naja sobald ich auf das filehandle $mypasswd zugreifen will sei es nur um es wieder zu schließen:

Warning: Supplied argument is not a valid File-Handle resource in /www/htdocs/squid/admin/auth.php on line 22

Das hört sich danach an, als wenn $mypasswd vorher schon ge-fclosed() wurde. Habs hier eben mal getestet und auch wenn ich die Dateien die ich öffne mit anderen Rechten versehe, so kommt zumindest eine andere aussagekräftige Fehlermeldung.

wenn man sich das filehandle $mypasswd ausgeben läßt

steht 1 da. is das TRUE oder FALSE oder Normal??????

1 = TRUE

0 = FALSE

Kannst Du das .phps der Skriptes mal online stellen damit man sich das mal anschauen kann?

Kannst Du andere Operationen mit der geöffneten Datei machen? Also klappt das Auslesen denn?

Ah, Fehler wahrscheinlich gefunden:

http://www.php.net/manual/en/function.fopen.php

slevy1 at pipeline.com schreibt das was:


If you are used to writing script like
do something || die("no can do");
note that in php || has a higher precedence than =
So, don't write:
$h = fopen("$filename", "r") || die("cannot open
$filename");
b/c this will overwrite the file ptr!
Now, or has a lower precedence than || and is also lower than =
So, you may write:
$h = fopen("$filename","r") or die("cannot open
$filename");
However, you may avoid the entire issue with code like this:
$h = fopen("$filename","r");
if (!$h) {
die("unable to open $filename");
}
[/php]

Probier das mal aus, wenns hilft niemals || die schreiben sondern immer 'or die', oder erst später überprüfen ob der Filehandler gesetzt ist.

bis zum nächsten mal

*versteckt* :)

Bitteschön.

Ach ja, das nächste Mal selber bei www.php.net schauen, was anderes hab ich nähmlich auch nicht gemacht.

Genau, und auch mal die Usercomments lesen, da stands drinne. Meistens gibts schon andere Leute die das gleiche Problem vor Dir hatten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.