Tron: Bilder mit php hochladen und abspeichern...wie?

hi,
ich möchte ein Galerie-Script schreiben, aber für das acp brauche ich ein Scrip, mit dem ich Bilder hochladen kann, und dann unter einer nummer abspeichern....
Das Problem ist nur ich habe einige tuts gesucht und auch efunden, aber nichts brauchbares nicht-veraltetes gefunden, ich habe hier vor ein paar Wochen schonmal gefragt, ber nur für was anderes ind er Richtung upload...

kann mir vielleicht jemand nen tut sagen, oder mir ne kleine Anleitung schreiben?

danke,

Tron

  1. Hallo Tron,

    Das Problem ist nur ich habe einige tuts gesucht und auch efunden, aber nichts brauchbares nicht-veraltetes gefunden,

    ich fand dies hier ganz interessant als Einstieg:

    http://www.php.net/manual/de/features.file-upload.php

    Schöne Grüße aus Köln-Ehrenfeld,

    Elya

    --
    We are still confused, but on a higher level.
    1. danke dir für deine freundliche Antwort im Gegensatz zu bestimmten anderen Personen, die nur Meckern können...

      Wenn ich das Script ausprobiere, dann kommt folgender fehler, was kannich dagegen machen?

      Warning:  move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect.  The script whose uid is 27863 is not allowed to access / owned by uid 0 in /home/www/htdocs/ich-lerne-noch.de/upload.php on line 9
      Possible file upload attack!  Here's some debugging info:
      Array
      (
          [userfile] => Array
              (
                  [name] => is.jpg
                  [type] => image/pjpeg
                  [tmp_name] => /home/www/htdocs/ich-lerne-noch.de/tmp/phphqe20H
                  [error] => 0
                  [size] => 2943
              )

      )

      1. Hi!

        danke dir für deine freundliche Antwort im Gegensatz zu bestimmten anderen Personen, die nur Meckern können...

        Ich habe nicht gemeckert, sondern gezeigt wie Du viel schneller alleine an dieselbe Information gekommen wärst.

        Wenn ich das Script ausprobiere, dann kommt folgender fehler, was kann ich dagegen machen?

        Was heißt "ausprobieren"? 1:1 kopiert? Du hast vermutlich probiet die Datei in ein Verzeichnis zu kopieren, auf das Du keinen Zugriff hast. Du musst die hochgeladene Datei in ein Verzeichnis kopieren, in dem Du Schreibrechte hast, also vermutlich irgendwo in die Nähe wo Du jetzt Dein Upload-Script liegen hast.

        Gucke Dir hierzu an wie die Funktion move_uploaded_file(), die augenscheinlich Probleme bereitet, funktioniert, siehe (http://de3.php.net/manual/de/function.move-uploaded-file.php)

        Grüße
        Andreas

        1. ok, entschuldige mich, aber in dem Verzeichnis habe ich schreibrechte... mit CHMOD auf 777 gesetzt...

          1. Hi!

            ok, entschuldige mich, aber in dem Verzeichnis habe ich schreibrechte... mit CHMOD auf 777 gesetzt...

            Aber irgendwas stimmt da nicht, da steht Du wolltst auf / zugreifen. Poste mal den Quellcode.

            Grüße
            Andreas

            1. Hier:

              test.htm

              <form enctype="multipart/form-data" action="upload.php" method="post">
              <input type="hidden" name="MAX_FILE_SIZE" value="30000">
              Send this file: <input name="userfile" type="file">
              <input type="submit" value="Send File">
              </form>

              und upload.php

              <?php
              // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
              // In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
              // move_uploaded_file()

              $uploaddir = '/uploads/';

              print "<pre>";
              if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
                  print "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
                  print_r($_FILES);
              } else {
                  print "Possible file upload attack!  Here's some debugging info:\n";
                  print_r($_FILES);
              }

              ?>

              1. Hallo!

                $uploaddir = '/uploads/';

                Bedenke dass es sich hier um das lokale Filesystem handelt, versuchs mal mit

                $uploaddir = '/home/www/htdocs/ich-lerne-noch.de/uploads/';

                Grüße
                Andreas

                1. Danke dir, es funktioniert,
                  entschuldigung nochmal wegen vorhin...

                  mfg

                  Tron

  2. Hallo!

    kann mir vielleicht jemand nen tut sagen, oder mir ne kleine Anleitung schreiben?

    Glaubst Du ernsthaft Du bist der erste mit diesem Problem?

    http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=Datei+Upload+PHP&btnG=Google+Suche&meta=lr%3Dlang_de

    Da findest Du als erstes Ergebnis:
    http://www.dclp-faq.de/q-formular-upload-php4.html

    Und auch ein Blick ins PHP-Manual(http://de3.php.net/manual/de/) kann nicht schaden, da findest Du auf der ersten Seite einen direkten Link(18. Steuerung von Dateiuploads) auf folgende Seite:
    http://de3.php.net/manual/de/features.file-upload.php

    Und auch im Archiv dieses Forums findest Du >100 Beiträge zum Thema: http://selfsuche.teamone.de/cgi-bin/hack.cgi?suchausdruck=Upload+PHP&feld=alle&index_5=on&hits=100

    Grüße
    Andreas

  3. hola tron,

    kann dir leider keine konkreten ideen zum skript geben, dafür aber vielleicht eine ausreichende fertiglösung:

    http://gallery.sourceforge.net/

    die galerie bietet eigentlich alles was man sich so wünschen kann, insb. wenn man berücksichtigt, daß es freeware ist. selbiges dürfte auch heißen, daß du dich alternativ an den code-schnipseln orientieren darfst, um doch noch deine eigene, auf deine bedürfnisse zugeschnittene lösung zu basteln.

    gruß,

    matthias