Ordner + Unterordner erstellen

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

  • Ordner + Unterordner erstellen

    hallo zusammen!

    habe ein problem auf einen schlag einen ordner und zugleich den dazugehörigen unterordner zu erstellen.

    hier mein vereinfachter code

    PHP-Code:
    $max='IRGEND EIN WERT';

    $greatordner_1=' '.$domainpfad.'/pic/'.$max.' ';
    mkdir($greatordner_10777);
    chmod($greatordner_10777);

    $unterordner_2=' '.$domainpfad.'/pic/'.$max.'/UNTERORDNER';
    mkdir($unterordner_20777);
    chmod($unterordner_20777); 

    der hauptordner ist kein problem funktioniert auch, aber beim unterordner bekomme ich folgende meldung

    PHP-Code:
    Warningmkdir(): SAFE MODE Restriction in effectThe script whose uid is 
    10490 is not allowed to access 
    /var/home/user/www/pic/2 owned by uid 
    33 in 
    /var/home/user/www/file.php on line 18

    Warning
    chmod(): Unable to access /var/home/user/www/pic/2/aa 
    in 
    /var/home/user/www/file.php on line 18

    Warning
    chmod(): No such file or directory in /var/home/user/www/file.php on line 18 
    kann mir wer verraten warum???
    Zuletzt geändert von churcher; 22.06.2005, 00:38.

  • #2
    http://de2.php.net/features.safe-mode erklärt die welt.
    übrigens, was hat das leerzeichen im pfad für einen sinn?
    hast du dir den pfad mal ausgeben lassen, der du zusammenstellst?

    Kommentar


    • #3
      safemode ist ja auf off

      leerzeichen war nur schreibfehler vo mir, sorry

      Kommentar


      • #4
        safemode ist ja auf off
        wetten, du bist der einzige, der diese meinung vertritt?

        Kommentar


        • #5
          hast recht, ist ja ein anderer server, war jetzt auf meinen vertieft, kann man dies irgendwie umgehen??

          Kommentar


          • #6
            Dein erstes und grösstes Problem ist der aktivierte SafeMode in deinem Webspace. Im PHP Man wird nahegelegt mkdir() bei aktiviertem SafeMode nicht zu verwenden. Schau mal hier im
            Manual zum Thema nach.
            Einen Workaround gibt es so wie ich es gelesen leider nicht. Kontaktiere mal deinen Provider und bitte ihn höflich darum den SafeMode auszuschalten (ob er's tut steht in den Sternen). Ich habe es gerade mal mittels ini_set() versucht --> funzt leider ned.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              zeig mal bitte die ausgabe von
              PHP-Code:
              <pre><?php 
              var_dump
              ($greatordner_1); 
              var_dump($greatordner_2);
              ?></pre>
              direkt nach der deklaration von $greatordner_2

              p.s. jahlives - was hätte safe mode dann für einen sinn, wenn man es mittels ini_set() aushebeln könnte?

              Kommentar


              • #8
                PHP-Code:
                string(40"/var/home/user/www/pic/2"
                string(43"/var/home/user/www/pic/2/aa" 

                Kommentar


                • #9
                  Versuch doch mal

                  PHP-Code:
                  $ordner $domainpfad.'/pic/'.$max.'/UNTERORDNER';

                  exec("mkdir -p ".$ordner); 
                  Vorher solltest du mal mittels phpinfo() nachsehen wo dein safe_mode_exec_dir liegt, da könnte obengenanntes funktionieren.
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    hi, funktioniert leider auch nicht

                    safe_mode_exec_dir liegt auf -> /usr/local/php/bin/

                    Kommentar


                    • #11
                      @penizilin
                      p.s. jahlives - was hätte safe mode dann für einen sinn, wenn man es mittels ini_set() aushebeln könnte?
                      War nur ein Versuch. Aber man kann ja einige Dinge mit ini_set() ändern, drum habe ich es mal probiert --> nun denn bin ich schlauer geworden.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Alternative: FTP.

                        Find ich auch praktischer, aber: Ansichtssache

                        Kommentar


                        • #13
                          Original geschrieben von churcher
                          hi, funktioniert leider auch nicht

                          safe_mode_exec_dir liegt auf -> /usr/local/php/bin/
                          Da könntest du (je nach Provider) allerdings glück haben das die den für deine Domain ändern.
                          gruss Chris

                          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                          Kommentar


                          • #14
                            @Skaschy FTP bringt ja hier nichts da der kunde einen datensatz anlegt und hier soll dann automatisch der ordner inkl. unterordner erstellt werden.

                            werd mal beim provider anfragen, hatte mir gedacht man kann das irgendwie umgehen, leider doch nicht

                            lg

                            Kommentar


                            • #15
                              Hallo zusammen,
                              ich hätte da auch ein Problem, und wäre da sehr dankbar, wenn mir jemand helfen könnte.

                              Dies ist mein momentanees Uplod ssript, dass ich gerne auch in dem Sinn erweiter hätte, dass man Ordner und beliebige Unterordner stellen kann, wo dann die jeweilgigen Bilder eingefügt werden können.

                              Wie müsste das denn dann im Endeffekt aussehen? Im Moment liegt dieses Script in einem geschützten Bereich. Die Bilder Ordner selbst, aber ausserhalb des geschützten Bereiches. Die Bilde hochladen, alles so weit klappt perfekt, nur die Ordner selbst, weil ja immer wieder neue dazu kommen, auch Unterordner, die muß ich bis jetzt noch per FTP erstellen.


                              Ich habe zwar das script schon gesehen, wo hier angezeigt wurde mit diesen "$geratordner", aber ich blick da leider nicht durch.

                              Ich darf schon jetzt ganz lieben Dank für jegliche Unterstüzung sagen.


                              Gruß
                              Neckar

                              ----------------------------------------------------------------------------------

                              <?include("kopf.php")?>
                              <?php
                              $sendbutton = $_REQUEST['sendbutton'];
                              $ordner = $_REQUEST['ordner'];
                              $resize = $_REQUEST['resize'];


                              if ( $sendbutton == 'Datei hochladen' )
                              {

                              if ( $ordner == "anim" ) { $zielpfad = "../_animierte_gifs"; }
                              elseif ( $ordner == "allgem" ) { $zielpfad = "../_allgemeine_bilder"; }
                              elseif ( $ordner == "privat" ) { $zielpfad = "../_private_bilder"; }
                              else { $datei1 == ''; }

                              $dateitmpname1 = $_FILES['datei1']['tmp_name']; // Temporärer Dateiname inkl. absoluter Pfad
                              $dateiname1 = $_FILES['datei1']['name']; // Original Dateiname
                              $dateityp1 = $_FILES['datei1']['type']; // Dateityp
                              $dateigroesse1 = $_FILES['datei1']['size']; // Dateigröße
                              }

                              if ( $dateigroesse1 > 0 AND $sendbutton )
                              {

                              if ( file_exists("$zielpfad/$dateiname1") ) { unlink("$zielpfad/$dateiname1"); }

                              if ( $resize >1 )
                              {
                              list($breite, $hoehe) = getimagesize($dateitmpname1);
                              $faktor = round($breite/$resize,2);
                              $neue_breite = $resize;
                              $neue_hoehe = round($hoehe/$faktor,0);

                              $image_p = imagecreatetruecolor($neue_breite, $neue_hoehe);
                              $image = imagecreatefromjpeg($dateitmpname1);
                              imagecopyresampled($image_p, $image,0,0,0,0,$neue_breite,$neue_hoehe,$breite,$hoehe);

                              imagejpeg($image_p,"$zielpfad/$dateiname1", 100);
                              }

                              else
                              {
                              copy ( $dateitmpname1, "$zielpfad/$dateiname1" );
                              }

                              chmod ("$zielpfad/$dateiname1", 0644);
                              $message = "Datei $dateiname1 wurde hochgeladen.";
                              }

                              if ( $dateigroesse1 <= 0 AND $sendbutton )
                              {
                              $message = "Dateifehler";
                              }

                              ?>


                              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                              <html>
                              <head>
                              <title>Adminmenu</title>
                              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

                              <link href="../css/erdlings_style.css" rel="stylesheet" type="text/css">


                              </head>

                              <body>

                              <!------------------Upload Anfang----------------------------!>

                              <table width="100%" border="0" cellpadding="0" cellspacing="0">
                              <tr>
                              <td width="45%" valign="top">

                              <form enctype="multipart/form-data" action="admin.php" method="post">

                              <font class="normal">Datei hochladen.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                              <input name="datei1" type="file">

                              <br style="line-height:52px"/>

                              Upload in den Ordner</font>
                              <select name="ordner" size="1">
                              <option value="anim">Animierte Gifs</option>
                              <option value="allgem">Allgemeine Bilder</option>
                              <option value="privat">Private Bilder</option>
                              </select>

                              <br />&nbsp;<br />

                              <font class="normal">Bild automatisch verkleinern (nur für JPG's). <br /> Neue Breite:
                              <input type="radio" name="resize" value="400"> 400px
                              <input type="radio" name="resize" value="300"> 300px
                              <input type="radio" name="resize" value="200"> 200px
                              <input type="radio" name="resize" value="100"> 100px
                              <input type="radio" name="resize" value="0" checked> Original </font>

                              <br />&nbsp;<br />

                              <input type="submit" name="sendbutton" value="Datei hochladen">

                              </form>

                              <br />

                              <font color="red"><? echo "$message"; ?></font>

                              </div>

                              </td>
                              <td width="5%" valign="top">&nbsp;</td>
                              <td width="45%" valign="top" class="normal">
                              Datei Upload. <br />
                              Über diese Seite bitte nur Dateien mit geringer Größe hochladen. Große Dateien
                              (>300kb) möglichst über FTP hochladen. Bilder und Videos müßen in das Ausgabeformat
                              der Seite passen. Maximal empfohlene Bildbreite 400 Pixel. Groß/Kleinschreibung wird
                              unterschieden, d.h. ein Bild mit dem Namen bild123.jpg wird nicht unter dem Namen
                              BILD123.JPG gefunden.
                              </td>
                              </tr>
                              </table>

                              <!-------------------Upload Ende----------------------------------!>
                              Gruß
                              Neckar:-)
                              http://www.schoeneshaus-chat.de

                              Kommentar

                              Lädt...
                              X