Problem mit mkdir()

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

  • Problem mit mkdir()

    Hallo,
    ich bin noch Anfänger und stehe vor einem Problem.
    Ich möchte gerne ein kleines CMS erstellen, womit man Ferienwohnungen eintragen kann.
    das eigentliche eintragen funktioniert auch wunderbar. Probleme machen nämlich die Bilder.
    Ich habe einen separaten Ordner dafür erstellt und möchte, dass mein
    ein Script anhand der ID einen neuen Ordner für jeden Eintrag erstellt.
    Leider bekomme ich immer die Meldung "Permission denieded"

    Zurzeit befindet sich alles in einem Testverzeichnis (mit chmod 775).
    Der eigentliche Bilderordner hat auch chmod 775.
    Ich hatte Testweise auch alles auf 777 gestellt gehabt, ohne Erfolg.
    Ich hoffe, dass mir jemand helfen kann.

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Datei - Upload von ETL Marbella Tax</title>
    </head>
    <body>
    <?php
    //Daten aus dem Formular auslesen und in Variablen schreiben
    $titel=$_POST['titel'];
    $beschreibung=$_POST['beschreibung'];
    $lage=$_POST['lage'];
    $ausstattung=$_POST['ausstattung'];
    $freizeit=$_POST['freizeit'];
    $schlafzimmer=$_POST['schlafzimmer'];
    $badezimmer=$_POST['badezimmer'];
    $groesse=$_POST['groesse'];
    $groesse_grund=$_POST['groesse_grund'];
    $preis_haupt=$_POST['preis_haupt'];
    $preis_neben=$_POST['preis_neben'];
    $ort=$_POST['ort'];
    $endreinigung=$_POST['endreinigung'];
    $strom=$_POST['strom'];
    $kaution=$_POST['kaution'];
    $bild1=$_POST['bild1'];
    $bild2=$_POST['bild2'];
    $bild3=$_POST['bild3'];
    $bild4=$_POST['bild4'];
    $bild5=$_POST['bild6'];

    //Sonderzeichen umwandeln
    $titel=htmlspecialchars($titel);
    $titel=htmlentities($titel);
    $beschreibung=htmlspecialchars($beschreibung);
    $beschreibung=htmlentities($beschreibung);
    $lage=htmlspecialchars($lage);
    $lage=htmlentities($lage);
    $ausstattung=htmlspecialchars($ausstattung);
    $ausstattung=htmlentities($ausstattung);
    $freizeit=htmlspecialchars($freizeit);
    $freizeit=htmlentities($freizeit);
    $ort=htmlspecialchars($ort);
    $ort=htmlentities($ort);

    //Datenbank Login einbinden
        
    include('connect.inc');

    //Daten in Datenbank schreiben
    $anfrage="INSERT INTO wohnungen_de VALUES ('', '";
    $anfrage.=$titel;
    $anfrage.="', '";
    $anfrage.=$beschreibung;
    $anfrage.="', '";
    $anfrage.=$lage;
    $anfrage.="', '";
    $anfrage.=$ausstattung;
    $anfrage.="', '";
    $anfrage.=$freizeit;
    $anfrage.="', '";
    $anfrage.=$schlafzimmer;
    $anfrage.="', '";
    $anfrage.=$badezimmer;
    $anfrage.="', '";
    $anfrage.=$groesse;
    $anfrage.="', '";
    $anfrage.=$groesse_grund;
    $anfrage.="', '";
    $anfrage.=$preis_haupt;
    $anfrage.="', '";
    $anfrage.=$preis_neben;
    $anfrage.="', '";
    $anfrage.=$ort;
    $anfrage.="', '',";
    $anfrage.="'',";
    $anfrage.="'',";
    $anfrage.="'',";
    $anfrage.="'',";
    $anfrage.="'', '";
    $anfrage.=$endreinigung;
    $anfrage.="', '";
    $anfrage.=$strom;
    $anfrage.="', '";
    $anfrage.=$kaution;
    $anfrage.="')";
    mysql_query($anfrage)
       or die(
    "<b>Fehler bei der Datenbankanfrage: </b>".mysql_error());

    //ID für den Eintrag auslesen   
    $auslesen="SELECT * FROM wohnungen_de WHERE titel LIKE '";
    $auslesen.="$titel";
    $auslesen.="'";
    $ergebnis=mysql_query($auslesen);
    $zeile=mysql_fetch_row($ergebnis);
    $ordner=$zeile[0];

    //Ordner erstellen
    mkdir ("bilder/$ordner"0755);

    //Bilder im Ordner speichern
    copy ($bild1"bilder/$ordner/bild1.jpg");
    copy ($bild2"bilder/$ordner/bild2.jpg");
    copy ($bild3"bilder/$ordner/bild3.jpg");
    copy ($bild4"bilder/$ordner/bild4.jpg");
    copy ($bild5"bilder/$ordner/bild5.jpg");
    copy ($bild6"bilder/$ordner/bild6.jpg");

    //Links zu Bildern erstellen
    $link1="bilder/$ordner/bild1.jpg";
    $link2="bilder/$ordner/bild2.jpg";
    $link3="bilder/$ordner/bild3.jpg";
    $link4="bilder/$ordner/bild4.jpg";
    $link5="bilder/$ordner/bild5.jpg";
    $link6="bilder/$ordner/bild6.jpg";

    //Links zu Bildern in Datenbank schreiben
    $update="UPDATE wohnungen_de SET bild1=$link1 WHERE id LIKE '$ordner'";
    mysql_query($update)
       or die(
    "<b>Fehler bei der Datenbankanfrage: </b>".mysql_error());

    mysql_close($db);
    print(
    "Die Ferienwohnung wurde erfolgreich in das Angebot aufgenommen.");
    print(
    "<a href='index.php'>Zur&uuml;ck zum Admin-Bereich</a>");
    ?>
    </body>
    </html>
    Gruß
    gameco


    edit: Das Problem mit dem Ordner habe ich gelöst.
    Allerdings kommt nun noch die Meldung, dass die Datei nicht hochgeladen werden kann, da der Ordner nicht gefunden wurde.

    Vielen Dank im voraus
    gameco
    Zuletzt geändert von gameco; 17.06.2006, 14:03.

  • #2
    dann solltest du den korrekten pfad angeben. Codeauszüge wären hilfreich.

    Kommentar


    • #3
      Hallo,
      der Pfad sollte richtig sein.

      Hier wird der Ordner erstellt:
      PHP-Code:
      mkdir ("bilder/$ordner"0755); 
      Und hier sollen die Bilder kopiert werden:
      PHP-Code:
      copy ($bild1"bilder/$ordner/bild1.jpg");
      copy ($bild2"bilder/$ordner/bild2.jpg");
      copy ($bild3"bilder/$ordner/bild3.jpg");
      copy ($bild4"bilder/$ordner/bild4.jpg");
      copy ($bild5"bilder/$ordner/bild5.jpg");
      copy ($bild6"bilder/$ordner/bild6.jpg"); 
      Der Ordner Bilder hat CHMOD 777

      Gruß
      gameco

      Kommentar


      • #4
        Poste mal bitte die komplette fehlermeldung. die sagt ja schließlich etwas anderes.

        versuchs auch mal mit nem absoluten pfad.


        BTW: copy() ist veraltet. Das steht auch so im Manual.

        Kommentar


        • #5
          Hallo, danke für deine Mühe.


          Die Fehlermeldung lautet wie folgt:


          Warning: copy(Blaue Berge.jpg): failed to open stream: No such file or directory in /www/htdocs/w0070586/costadelsol-urlaub.com/test/admin_db_neue_wohnung.php on line 105

          Welche Alternative gibt es denn zu copy()???


          Gruß
          gameco

          Kommentar


          • #6
            erst informieren:
            http://de2.php.net/manual/en/features.file-upload.php

            dort ist alles erklärt, was man wissen muss (und was du falsch machst).

            Kommentar


            • #7
              move_uploaded_file

              und $_FILE für deine bilder nicht unbedingt $_POST
              gruss Chris

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

              Kommentar


              • #8
                Sorry, dass ich mich erst jetzt melde.
                Hatte aber vorher nicht die Zeit mit meinem Script weiter zu machen.

                Habe das Problem jetzt mit eurer Hilfe gelöst.

                Vielen Dank
                Gruß
                gameco

                Kommentar

                Lädt...
                X