leerer Pfad auf Server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • leerer Pfad auf Server

    Hallo,

    ich habe mir ein Bildergalerie-Script aus den Codeschnipseln geholt. Auf dem Server von meinem Bekannten läuft es ohne Probleme, aber auf meinem Server nicht.

    Ich bekomme den Fehler: Warning: open_basedir restriction in effect. File is in wrong directory in...... on line 68, on line 78
    und zusätzlich readdir(): supplied argument is not a valid Directory resource in /home/httpd/vhosts/test.de/httpdocs/GALLERY/gal.php on line 86

    Mir ist aufgefallen, dass der Script-Teil:

    Pfad=pathinfo($_SERVER['PATH_TRANSLATED']);
    $Pfad=$Pfad["dirname"]."/";

    einen leeren Pfad (nur /) zurückgibt. Kann mir jemand sagen woran das liegt?

    Hier das Script:



    PHP-Code:
    <?php
    /*
    ******************************************************************************************************
    **                                                                                                  **
    **                 Nie war es so einfach eine Bildergalerie in eine Website einzubauen              **
    **                 Einfach dieses Script in das Verzeichnis in welchem sich die Bilder befinden     **
    **                 speichern und aufrufen. Es wird automatisch ein Verzeichnis für                  **
    **                 Tumbnails erzeugt und selbige generiert.                                         **
    **                 Sind die Tumbnails einmal erzeugt geschieht dies nur noch wenn neue              **
    **                 Bilder hinzukommen. Es werden auch nur die Tumbnails angezeigt, für              **
    **                 welche auch Originaldateien bestehen.                                            **
    **                 Der erste Aufruf kann etwas länger dauern, da der Server die Bilder neu          **
    **                 erstellt. Vorsicht bei riesigen Bildersammlungen, da kann man dem Server         **
    **                 auch ganz schön den Zahn ziehen.                                                 **
    **                 Die Bilder sind mit Links hinterlegt, welche ein neues Fenster mit der           **
    **                 Originaldatei erzeugen.                                                          **
    **                 Tumbnailgröße, Rahmenstärke, Bilder je Zeile können einfach per Variablen-       **
    **                 deklaration geändert werden.                                                     **
    **                 Sollte Ihr PHP den Befehl 'imagecreatetruecolor' nicht kennen, einfach           **
    **                 durch 'imagecreate' ersetzen.                                                    **
    **                 Leider funktioniert das Script nur bei JPG, aber da die meisten Webbilder        **
    **                 eh JPG sind sollte das kein PRoblem darstellen. Wer andere Bildformate           **
    **                 braucht kann sich das Script gerne anpassen                                      **
    **                 Für langsame Server sollten evtl. die Komentare entfernt werden                  **
    **                 um die Laufzeiten zu verringern.                                                 **
    **                                                                                                  **
    **                 Das Script wird von [url]www.weingut-hoerner.de[/url] als Freeware bereitgestellt.          **
    **                                                                                                  **
    ******************************************************************************************************
    */    
        
    header("Cache-Controll: no-cache, must revalidate"); 
        
    header("Content-type: image/PNG");

        
    $f session_id();
        if(
    $f == ""session_start();
    ?>
    <HTML>
    <HEAD>

    <meta http-equiv="expires" content="0">
    <meta http-equiv="Cache-Control" content="no-cache"> 
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Pragma-directive" CONTENT="no-cache">
    <META HTTP-EQUIV="cache-directive" CONTENT="no-cache">

    <TITLE>Bildergalerie(No Cache)</TITLE>

    </HEAD>
    <!-- Seitenbeginn mit Hintergrundfarbe -->
    <BODY BGCOLOR='#ffffd2'>
    <FONT FACE='arial'>

    <?php
         $Pfad
    =pathinfo($_SERVER['PATH_TRANSLATED']);
         
    $Pfad=$Pfad["dirname"]."/";
         
    $Bildzaehler=0;
         
    //echo $Pfad;

        // Variablendeklaration ----------------------------------------------------------------

        
    $Tumbnailbreite 150;  // <--- Zentrale Angabe der Etikettenbreite in Pixel
            
    $BilderZeile 5;  // <--- Anzahl der Bilder je Zeile
            
    $Rahmenbreite 1;  // <--- Rahmenbreite um Bilder einstellen

        //Bilder abrufen und Tumbnails erstellen -------------------------------------------
        
    $verz=opendir("/");
            
    $Bildtitel="<TR>";

    /*
    *******************************************************
    **            Tumbnailordner abfragen und            **
    **           wenn nicht vorhanden anlegen            **
    *******************************************************
    */
            
    if (!is_dir($Pfad."TN")){
              
    mkdir($Pfad."TN",0700);
            }
    /*
    *******************************************************
    **            Bilder einzeln durchgehen              **
    *******************************************************
    */
        
    print"<TABLE><TR>";  //<-------------------------- Tabelle beginnen !!!!!!
            
    while ($Datei=readdir($verz)){
                      if (
    is_file($Datei)){
                           
    $Dateierweiterung=pathinfo($Datei);
                            
    $Dateierweiterung=$Dateierweiterung["extension"];
                    if (
    strlen($Datei)>&& $Datei<>"Thumbs.db"){
                                if (
    $Dateierweiterung=="jpg" or $Dateierweiterung=="JPG"){
                        
    // Bilddaten feststellen 
    /*
    *******************************************************
    **            Tumbnail abfragen und                  **
    **           wenn nicht vorhanden anlegen            **
    *******************************************************
    */

                            
    if (is_file("$Datei")){
                                           
    $Bildzaehler++;
                                           if (
    $Bildzaehler>$BilderZeile){
                                                   print
    "</TR><TR>";
                                                   
    $Bildzaehler=1;
                                                   Echo 
    $Bildtitel;
                                                   print
    "</TR><TR>";
                                                   
    $Bildtitel="<TR>";
                                           }
                                            if (!
    is_file($Pfad."TN/"."TN".$Datei)){  // Nur ausführen wenn der Tumbnail für dieses Bild nicht verfügbar ist
                                      
    $size=getimagesize($Datei);

                                      
    $breite=$size[0]; 
                                      
    $hoehe=$size[1]; 
                                          
    $neueBreite=$Tumbnailbreite
                                    if (
    $breite<$hoehe){
                                        
    $neueBreite=$neueBreite*0.70;
                                    }
                          
                                    
    $neueHoehe=intval($hoehe*$neueBreite/$breite); 
                                    
    $altesBild=ImageCreateFromJPEG($Pfad.$Datei);
                                      
    $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe); // Berechnen der Tumbnailmasse
                                      
    ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); // Bilddaten skaliert in Tumbnail kopieren

                                    
    ImageJPEG($neuesBild,$Pfad."TN/"."TN".$Datei,"50"); // JPG-Datei Tumbnail erzeugen
                                                
    }
                            }
                                            
                            print 
    "<TD><CENTER><A HREF='$Datei' TARGET='_blank'><IMG SRC='"."TN/"."TN".$Datei."' BORDER=$Rahmenbreite></A></CENTER></TD>".chr(13);
                                    
    $Bildtitel=$Bildtitel."<TD><CENTER>$Datei</CENTER></TD>";
                               }
                    }
            
                }
                   }
                print 
    $Bildtitel;
            print 
    "</TABLE>";

    ?>
    </BODY>
    </HTML>

  • #2
    Was gibt:
    PHP-Code:
    print_r($_SERVER); 
    aus?

    Offe

    Kommentar


    • #3
      @ Offe1:

      Array ( [UNIQUE_ID] => 99e4zNmgziEAACZxVuEAAAAj [HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* [HTTP_ACCEPT_LANGUAGE] => de [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) [HTTP_HOST] => meinedomain.de [HTTP_CONNECTION] => Keep-Alive [PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin [SERVER_SIGNATURE] =>
      Apache/2.0.40 Server at meinedomain.de Port 80
      [SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux) [SERVER_NAME] => meinedomain.de [SERVER_ADDR] => 217.160.206.33 [SERVER_PORT] => 80 [REMOTE_ADDR] => 216.54.194.135 [DOCUMENT_ROOT] => /home/httpd/vhosts/meinedomain.de/httpdocs [SERVER_ADMIN] => domreg@g-c-n.com [SCRIPT_FILENAME] => /home/httpd/vhosts/meinedomain.de/httpdocs/GALLERY/t2.php [REMOTE_PORT] => 33817 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /GALLERY/t2.php [SCRIPT_NAME] => /GALLERY/t2.php [PHP_SELF] => /GALLERY/t2.php [argv] => Array ( ) [argc] => 0 )

      Kommentar


      • #4
        nimm statt:
        $_SERVER['PATH_TRANSLATED']
        mal
        $_SERVER['SCRIPT_FILENAME']

        OffTopic:
        bei print_r(); immer Quelltext anschauen und posten. Ist gut für die Leserlichkeit!


        Offe

        Kommentar


        • #5
          damit verschwindet der Fehler in zeile 78. Die anderen beiden sind noch da. Ich werd noch verrückt....

          Kommentar


          • #6
            supplied argument is not a valid Directory resource in /home/httpd/vhosts/test.de/httpdocs/GALLERY/gal.php on line 86
            aus erstem Post
            [SCRIPT_FILENAME] => /home/httpd/vhosts/meinedomain.de/httpdocs/GALLERY/t2.php
            aus Ausgabe von print_r();

            gibt es für die versch. Pfade Gründe?

            EDIT:
            while ($Datei=readdir($verz)){
            wird $verz irgenwo gefüllt? Gib es doch mal aus.



            Offe
            Zuletzt geändert von Offe1; 06.03.2004, 13:07.

            Kommentar


            • #7
              sorry war ein fehler von mir weil ich es hier auch noch lokal getestet habe. in wirklichkeit ändern sich die pfade nicht

              Kommentar


              • #8
                was gibt
                PHP-Code:
                echo $verz
                aus. Siehe Edit vorheriges post von mir.

                Offe

                Kommentar


                • #9
                  gibt nichts aus, leere seite

                  Kommentar


                  • #10
                    gibt nichts aus, leere seite
                    daher der Fehler bei:
                    while ($Datei=readdir($verz)){
                    Offe

                    Kommentar


                    • #11
                      aber woran liegt das? Am Betriebssystem? an den php-Einstellungen?

                      Kommentar


                      • #12
                        Ich sehe gerade du hast

                        PHP-Code:
                        $verz=opendir("/"); 
                        mach mal
                        PHP-Code:
                        $verz=opendir("/home/httpd/vhosts/meinedomain.de/httpdocs/GALLERY1"); 
                        wo deine Bildergalerie liegt.


                        Offe

                        Kommentar


                        • #13
                          Danke für die Hilfe. Ich habe es jetzt auf einen anderen Server gelegt, und jetzt geht es ohne Probleme.

                          Kommentar

                          Lädt...
                          X