tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
377
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    377
    Hi

    ich habe ein script für testzwecke gemacht das so aussieht.

    Es soll zuerst über prüfen ob der Ausgangsordner $user_dir vorhanden ist und wenn ja überprüfen ob die übrigen 2 vorhanden sind zb wenn $user_save net vorhanden ist es erzeugen und gleich noch schauen ob $user_save_con auch vorhanden ist und wenn nicht es erzeugen.

    Wenn kein Ordner erstellt werden musste gibt es 0 zurück wenn erstellt werden musste dann 1 und bei Fehlern <0.

    Doch leider erhalten ich immer gleich beim ersten überprüfen die Meldung
    Code :
    1
    
    Warning: mkdir() [function.mkdir]: No such file or directory in /opt/lampp/htdocs/test/test.php on line 12
    doch warum? selbst wenn der Ordner existiert (ich ihn erzeugt habe per hand) kommt die Meldung mir kommt es so vor als wäre das Script an einem ganz anderen Ort.

    hoffe ihr könnt mir helfen.

    mfg mike4004

    PHP-Code:
    <?
    ///
    /// function user_settings
    ///
    $user_dir "dir";
    $user_save "dir/save";
    $user_save_con "dir/save";
        function 
    user_settings_controll(){
        
    /* make all user dirs if dirs are not exist ----start*/
        
    if (!is_dir($user_dir)){
            
            if(!
    mkdir($user_dir0777)){  //hier ist der 1. Fehler 
                
                
    return -1;
            }
            
            
                
                if(!@
    mkdir ($user_save0777)){
                
                return -
    2;
            }
        
                
                
                if(!@
    mkdir ($user_save_con0777)){
                
                return -
    3;
            }
        return 
    1;
        }
    /*--------------ende--------------------*/



    /* conntroll if only $user_save dir didn't exist if  $user_dir exist*/

        
    elseif (!is_dir($user_save)){
                
                if(!@
    mkdir ($user_save0777)){
                
                return -
    4;
                }

            if (!
    is_dir($user_save_con)){
                
                if(!@
    mkdir ($user_save_con0777)){
                
                return -
    5;
            }return 
    1;
            }return 
    1;
    }elseif (!
    is_dir($user_save_con)){
                
                if(!@
    mkdir ($user_save_con0777)){
                
                return -
    6;
            }return 
    1;
            }
        


    return 
    0;

        
    }

    echo 
    user_settings_controll();

    ?>
     

  2. #2
    ripkens ripkens ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Ort
    NRW
    Beiträge
    161
    Ich behaupte jetzt mal $user_dir muss den kompletten pfad enthalten von "/" angefangen. $DOCUMENT_ROOT kann auch verwendet werden

    Marcus
     
    Invent- IT-Services - www.invent-it.de
    -Consulting& Konzeption
    -Anwendungs- und Webentwicklung
    -Hosting & Services
    Profil Lexware-Module

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    377
    Hi

    Danke für die Antwort geht aber leider trotzdem nicht.

    Hat noch einer eine Idee was schief geht.

    mfg mike4004
     

  4. #4
    myvox myvox ist offline Mitglied
    Registriert seit
    Jun 2003
    Beiträge
    10
    Hallo,
    hat mich auch etwas zum grübeln gebracht, aber ic hhab die Lösung...
    also du hast $user_dir und $user_save natürlich außerhalb der klasse stehen, die musst du in der funktion selbst alks global definieren um an die werte ranzukommen.
    Hab deine Funktion auch leicht umgeändert, jetzt gibt sie dir auf jeden zurpck, welche ordner erzeugt wurden und falls alles ok ist "alles OK"...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    $user_dir = "dir/";
    $user_save = "dir/save/";
    #$user_save_con = "./dir/save"; //mal deaktiviert, nehme an sollte ein check sein
    function user_settings_controll(){
      global $user_dir,$user_save;
        /* make all user dirs if dirs are not exist ----start*/
    if (!is_dir($user_dir) || !is_dir($user_save)){
        if(!is_dir($user_dir)){  
        if(mkdir($user_dir, 0777)) $returner.= "userdir erzeugt.<br>\n";
        }
        
        if(!is_dir ($user_save)){
        if(mkdir($user_save, 0777)) $returner.= "savedir erzeugt.<br>\n";
        }
        #if(!is_dir($user_save_con)){
        #mkdir($user_save_con, 0777);
        #$returner.= "savecon erzeugt";
        #}
    }
    else {
      $returner = "Alles OK";
    }
    return $returner;
    }
     

  5. #5
    Registriert seit
    Apr 2005
    Beiträge
    377
    Hi

    danke für die Hilfe ich habe es jetzt nicht mit globalen vars gemacht sondern einfach die Variablen übergeben. DANKE DANKE

    mfg mike4004
     

Ähnliche Themen

  1. insert schlägt fehl
    Von hikeda_ya im Forum PHP
    Antworten: 4
    Letzter Beitrag: 11.09.06, 15:03
  2. SQL-Abfrage schlägt fehl
    Von anopheles1337 im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 15.04.06, 01:24
  3. MySQL_Query schlägt fehl
    Von xelluloid im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.10.05, 07:50
  4. Datenbankanbindung (mdb) schlägt fehl
    Von totgereggt im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 15.07.04, 10:30
  5. Variablenübergabe schlägt fehl
    Von AlexD1979 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 01.04.04, 10:43