IPB

Willkommen, Gast ( Anmelden | Registrierung )

 
Reply to this topicStart new topic
> PHP führt Script ab welchem Verzeichnis aus?
Andreas
Beitrag 26.10.2005 - 11:03
Beitrag #1


____________________
Gruppensymbol

Gruppe: Admin
Beiträge: 1.220
Mitglied seit: 20.10.2001
Mitglieds-Nr.: 3



Hi,

ich lese mit einem Script
QUELLTEXT
function leseVerzeichnis() {

$verz=opendir ('.');

while ($file = readdir($verz)){

 if($file != "." && $file != ".." && substr($file, -4) == ".txt"){
    $fp = fopen("$file","r");
    flock($fp,2);
      $info = trim(fgets($fp,1000));
      $kapitel = trim(fgets($fp,1000));
    flock($fp,3);
    fclose($fp);

    $speicher[$kapitel] = $file;

    }
 }
closedir($verz);

ksort($speicher);
$speicher = array_values($speicher);

return $speicher;

}
ein Verzeichnis aus und schreibe die enthaltenen Dateien in ein Array.

Das klappt auch bei mir zu Hause mit OmniHTTD und PHP5 sowie bei meinem Provider Canhost mit Apache und PHP5 absolut problemlos. Das Script sucht bei dieser Schreibweise ausgehend von dem Verzeichnis, in welchem es selbst liegt.

Nun habe ich das hier im Büro mit einer XAMP Installation versucht und hier führt das dazu, dass das Script ausgehend vom Apache Installationsordner sucht - Also der Ordner, den ich unter Document Root in der httpd.conf angegeben habe. Warum ist das Verhalten hier unterschiedlich (bei Canhost und bei mir lokal zu Hause sucht das Script *immer* ausgehend vom Ordner des Scripts, schert sich also eine Dreck um httpd.conf).

Wo muß ich drehen, damit das auch hier funktioniert? Habe sowohl die php.ini als auch die httpd.conf die letzten 2 Tage studiert, bin aber irgendwie nicht weiter gekommen :-/

Grüße

Andreas
Go to the top of the page
 
+Quote Post
harlequin
Beitrag 26.10.2005 - 11:10
Beitrag #2


DELETE FROM users WHERE search_count < 1
Gruppensymbol

Gruppe: Admin
Beiträge: 314
Mitglied seit: 15.07.1976
Wohnort: Osnabrück
Mitglieds-Nr.: 2



moin!

Je nach dem, wie der Provider seinen Server konfiguriert hat, kann er seinen User bzw. dessen PHP Programme einsperren...

auf Nummer sicher kannst du (denke ich) gehen, in dem du anstatt "." fürs Verzeichiss ein "./" verwendest... Denke ich...

have fun!
Lars
Go to the top of the page
 
+Quote Post
db
Beitrag 26.10.2005 - 11:13
Beitrag #3


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



Hi Andreas,

opendir ('./') löst das Problem vielleicht. Sicherheitshalber von $SCRIPT_NAME ableiten.
Go to the top of the page
 
+Quote Post
Andreas
Beitrag 26.10.2005 - 11:49
Beitrag #4


____________________
Gruppensymbol

Gruppe: Admin
Beiträge: 1.220
Mitglied seit: 20.10.2001
Mitglieds-Nr.: 3



Hi,

wie gut, dass ich gepostet habe biggrin.gif

opendir ('./'); hatte ich schon versucht, mit dem erwarteten Erfolg, dass eine Verzeichnisebene höher gesucht wurde.

$SCRIPT_NAME hat mich aber auf die Suche in die richtige Richtung geschickt. Damit kam ich der Sache näher - aber warum ich vorher nicht einfach in SelfPHP bei den Verzeichnisfunktionen geguckt habe, ist mir schleierhaft icon14.gif

Denn dort hätte ich $verz=opendir(getcwd()); gefunden und wäre vorgestern schon glücklich gewesen!

Viele Grüße

Andreas - der wieder mal feststellt, dass einfach mal das Problem aufschreiben, die besten Erfolge erzielt!

icon13.gif
Go to the top of the page
 
+Quote Post
harlequin
Beitrag 26.10.2005 - 12:07
Beitrag #5


DELETE FROM users WHERE search_count < 1
Gruppensymbol

Gruppe: Admin
Beiträge: 314
Mitglied seit: 15.07.1976
Wohnort: Osnabrück
Mitglieds-Nr.: 2



moin!

Nett, wieder was gelernt... wink.gif

have fun!
Lars
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 14.05.2025 - 21:02

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here