PHP auf anderes Verzeichnis zugreifen?

  • Thread starter Thread starter Momo
  • Start date Start date
M

Momo

Guest
Hallo

Also ich habe auf meiner Website ein PHP Schript das die Dateien die sich in einem Ordner befinden ausliest und diese dann als href Link listet. Nun wollte ich die Dateien nicht mehr über Apache zum download anbiten, sondern über anonymous FTP. Jetzt hab ich aber erfahren, dass ein PHP die Dateien nicht aus einem anderen Verzeichnis auslesen kann. Wie kann ich das jetzt machen?

Es kommt immer diese Fehlermeldung:

Code:
Warning: opendir(): open_basedir restriction in effect. File(../anon_ftp/) is not within the allowed path(s): (/var/www/vhosts/unlimited-otr.de/httpdocs:/tmp) in /var/www/vhosts/unlimited-otr.de/httpdocs/otrkeyList.php on line 15

Warning: opendir(../anon_ftp/): failed to open dir: Operation not permitted in /var/www/vhosts/unlimited-otr.de/httpdocs/otrkeyList.php on line 15

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/vhosts/unlimited-otr.de/httpdocs/otrkeyList.php on line 18

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/vhosts/unlimited-otr.de/httpdocs/otrkeyList.php on line 27
 
So ganz kann ich dir nicht folgen: Wenn du die Files via FTP anbieten willst, wie wärs dann die Files einfach in das entsprechende Verzeichnis zu verschieben?

Ansonsten hast du nur die Möglichkeit die open_basedir Einstellungen zu ändern / ändern zu lassen.
 
Also als ich meine Domain angelegt habe, habe ich ja einen Ordner bekommen mit mehreren Verzeichnis (z.b. httpdocs, in der meine Website liegt) und auch einen Ordner in den die Dateien für anonymous FTP kommen. Wie kann ich des jetzt mach, dass das Script im Ordner httpdocs den Inhalt des Ordner in dem sich die FTP Dateien befinden ausliest? Da bekomm ich immer einen Fehler.
 
am besten postest du mal dein script hier und die verzeichnisstrukur
ansonsten musst du einfach im php code gucken, wo pfad angaben auf das verzeichnis sind.

z.b ./ ist selbes verzeichnis wo auch die php datei liegt
oder ../ ein ordner unter dem verzeichnis, wo die php datei liegt
oder /files wäre der pfad zu einem ordner in diesem fall files der in dem odner liegt wo wie php datei liegt...
Ich hoffe ich habe deine Frage richtig verstanden
 
Okay ich habe das jetzt soweit hinbekommen. Ich habe einfach den Pfad für den anonymous FTP Ordner geändert. Jetzt tut sich aber ein weiteres Problem auf.

Also ich habe ein Script, dass die Dateien als Downloadlink ausgibt. Wie muss ich das jetzt ändern, damit ich den Links als FTP bekomme. Also ftp://ftp.domain.de/datei ??

PHP:
<?php
 
 
        /************** START CONFIGURATION ****************/
 
        //set here your path to the otrkey files
        $secretFolderPath = './OTRKeys/';  // e.g. './mySecretFolder/' //do NOT forget the last slash /
 
 
        /************** END CONFIGURATION ****************/
 
 
 
 
      $dir = opendir ($secretFolderPath);
      //gehe durch das Verzeichnis
      $fileList = false;
      while ($entry = readdir($dir)) {
 
 
          if ($entry == '.htaccess' || $entry == '.' || $entry == '..') continue;
          //wenn der Eintrag ein OTRKEY ist wird der Name und die Groesse in die Liste eingefuegt
                         $fileList .= '<a href="'.$secretFolderPath.$entry.'">'.$entry.'</a><br>';
               $fileName = "";
          }
 
      closedir ($dir);
      echo $fileList;
 
?>
 
Last edited by a moderator:
Hallo,

$fileList .= '<a href="'.$secretFolderPath.$entry.'">'.$entry.'</a><br>';

änder das mal in:
Code:
$fileList .= '<a href="ftp://ftp.bla_bla.de'.$secretFolderPath.$entry.'">'.$entry.'</a><br>';

und probier's aus, schreib ggf. was schiefgeht.
 
Da zeigt er mir an: No such file or dictory. Ich weiß auch woran es warscheinlich liegt. Denn als Link bringt er mir dann ftp://ftp.bla-bal.de/OTRKeys/Datei aber wenn der über FTP verbindet, dann isch er ja schon in dem Ordner OTRKeys und findet ihn dann nicht mehr, oder?
 
Hallo,

nächster Versuch:

Code:
$fileList .= '<a href="ftp://ftp.bla_bla.de'.$entry.'">'.$entry.'</a><br>';
 
Back
Top