+ Antworten
Ergebnis 1 bis 15 von 15

Probleme bei Upload Script

Diskussion über Probleme bei Upload Script in Skript- und Webserverprogrammierung der Kategorie Programmierung; Hallo zusammen, ich bin gerade dabei ein Upload Script auf meine Webseite einzubinden, ich hab Probleme mit dem Code. Ich ...

  1. #1
    Reg.-Benutzer
    Reg.-Datum
    11.08.2011
    Beiträge
    24

    Standard Probleme bei Upload Script

    Hallo zusammen,

    ich bin gerade dabei ein Upload Script auf meine Webseite einzubinden, ich hab Probleme mit dem Code. Ich will es nicht einfach reinkopieren sondern auch verstehen.

    Bei dem Befehl: move_uploaded_file weiß ich nicht was ich bei dem Pfad angeben soll.

    Hier ist das Script:

    PHP-Code:
    if ( isset ($_POST['upload']) )
    {
        
    $tempname $_FILES['file']['tmp_name'];  
        
    $name $_FILES['file']['name'];  
        
    //$type = $_FILES['file']['type'];  
        
    $size $_FILES['file']['size']; 
        
        if (
    $size "20000000")
        {
            
    $err[] = "zu große datei !";
        }
        
        if(empty(
    $err)) 
        {  
        
    move_uploaded_file($tempname"uploads/".$name);  
        echo 
    "Datei erfolgreich hochgeladen!";
        }  
        else 
        {  
            foreach(
    $err as $error)  
            echo 
    "$error";  
        }  

    Vielen Dank für Antworten!

    mfg jive

  2. #2
    Reg.-Benutzer
    Reg.-Datum
    03.11.2010
    Beiträge
    17

    Standard

    Die Funktion prüft, ob die angegebene Datei per POST upgeloadet wurde und verschiebt sie an den angegebenen Pfad, hier nach uploads/ (vorher anlegen).
    Wo ist das Verständnisproblem?

  3. #3
    Reg.-Benutzer
    Reg.-Datum
    11.08.2011
    Beiträge
    24

    Standard

    Mein Problem ist dass das Script nichts hochlädt weil es eine Fehlermeldung ausgibt. Es kommt folgende Fehlermeldung:

    Warning: move_uploaded_file(mh/uploads/wdwad) [function.move-uploaded-file]: failed to open stream: No such file or directory in /opt/lampp/htdocs/user/mh/db_login/user_bereich.php on line 64

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php3ux50o' to 'mh/uploads/wdwad' in /opt/lampp/htdocs/user/mh/db_login/user_bereich.php on line 64

    Ich will halt was uploaden und das tut nichts, ich bin nicht so das Ass in php aber ich versteh schon was im Script passiert, ich kann den Fehler nicht entziffern (zeile 64 ist wo der Befehl move_uploaded_file kommt).

  4. #4
    Reg.-Benutzer
    Reg.-Datum
    19.02.2001
    Ort
    Strausberg
    Beiträge
    1.844

    Standard

    Bei dir liegt die hochgeladene Datei unter /tmp/php3ux50o. Dass die Funktion move_uploaded_file fehlschlägt kann verschiedene Gründen haben. Der erste (und wahrscheinlichste) ist, dass das Zielverzeichnis nicht existiert. Ein anderer Grund wäre, dass es für den Webserver-User nicht schreibbar ist bzw. er keine Dateien anlegen darf.
    open source for open minds!

    www.e-treu.de

  5. #5
    Reg.-Benutzer
    Reg.-Datum
    03.11.2010
    Beiträge
    17

    Standard

    Dann geh der Fehlermeldung nach. Meine Vermutung stand auch schon oben mit dabei. Viel Glück.

    Warning: move_uploaded_file(mh/uploads/wdwad) [function.move-uploaded-file]: failed to open stream: No such file or directory

  6. #6
    Reg.-Benutzer
    Reg.-Datum
    11.08.2011
    Beiträge
    24

    Standard

    Ähm mal ne ganz allgemeine Frage, das Script soll die Funktion haben das ein User eine Datei auf den Webserver hochladen kann. Erfüllt das Script diese Funktion oder ist es nur zum verschieben da?
    Geändert von jive (02.02.2012 um 15:12 Uhr)

  7. #7
    Reg.-Benutzer
    Reg.-Datum
    03.11.2010
    Beiträge
    17

    Standard

    >Ich will es nicht einfach reinkopieren sondern auch verstehen.

    Mit <form> hattest Du gestern doch schon in einem anderen Topic Vergnügen, heute die Auswertung per $_POST. Für mich sieht es eher aus, als würde von irgendwo herkopiert werden und das Forum soll es funktionstüchtig machen.
    Auf eigenen Wunsch - selbst damit Auseinandersetzen was der Ausschnitt aus dem Script macht, ist nicht so schwer!

  8. #8
    Reg.-Benutzer
    Reg.-Datum
    11.08.2011
    Beiträge
    24

    Standard

    Nein ich will es auch nicht kopieren, die seite ist mein abschlussprojekt und ich muss sie ohne vorahnung von php selbst programmieren, wir dürfen fertige scripts verwenden aber müssen sie erklären können.

    Niemand soll das Script für mich schreiben, ich kann per $_POST auswerten, ohne frage nur ich weiß nicht ob das Script meine Anforderungen (dokument hochladen) entspricht.

  9. #9
    Reg.-Benutzer
    Reg.-Datum
    16.01.2009
    Beiträge
    237

    Standard

    hast du auf "uploads" schreibrechte?

  10. #10
    Reg.-Benutzer
    Reg.-Datum
    11.08.2011
    Beiträge
    24

    Standard

    Ja ich hab schreibrechte ich hab auf dem gesamten Webserver schreibrechte.

  11. #11
    Moderator Java
    Reg.-Datum
    24.07.2007
    Ort
    auf nem Berg
    Beiträge
    7.424

    Standard

    Zitat Zitat von jive Beitrag anzeigen
    Ja ich hab schreibrechte ich hab auf dem gesamten Webserver schreibrechte.
    Es spielt nicht unbedingt eine Rolle, ob Du Schreibrechte besitzt, sondern der User der Script ausführt
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  12. #12
    Reg.-Benutzer Avatar von chooter696
    Reg.-Datum
    09.02.2009
    Ort
    Mecklenburg Vorpommern
    Beiträge
    223

    Standard

    Nein ich will es auch nicht kopieren, die seite ist mein abschlussprojekt und ich muss sie ohne vorahnung von php selbst programmieren, wir dürfen fertige scripts verwenden aber müssen sie erklären können.
    Wie wärs wenn du bei einfachen DIngen in PHP anfängst da wie ich annehme du ja Anwendungsentwickler lernst wirst du ja Grundkenntnisse in der Programmierung haben. Von daher ein bischen in PHP einlesen und dann erklärt sich sowas von selbst. Wenn du hingegen keine Zeit mehr hast wegen Projekt zu knapp Kalkuliert + vorher nicht Informiert und Recherchiert dann bleibt dir nur der Weg den du bereits eingeschlagen hast vor. Schreib uns doch mal um welches Script es sich handelt wie du es eingebunden hast was du verändert hast oder was du bereits ausprobiert hast. So per Ferndiagnose sit das schon recht schwierig.
    Alter ich weis wo dein Haus wohnt

  13. #13
    Reg.-Benutzer Avatar von AsoraX
    Reg.-Datum
    10.08.2009
    Ort
    Mannheim
    Beiträge
    28

    Standard

    PHP-Code:
    if ( isset ($_POST['upload']) ) 

        
    $tempname $_FILES['file']['tmp_name'];   
        
    $name $_FILES['file']['name'];   
        
    //$type = $_FILES['file']['type'];   
        
    $size $_FILES['file']['size'];  
        
    $folder 'uploads/';
      
        if (
    $size "20000000"
        { 
            echo 
    "zu große datei !"
        } 
         else
        }
    $error_count count($file_error);
     if(
    $error_count 0) {
             for(
    $i 0$i <= $error_count; ++$i) {
                 echo 
    $_FILES[name ]['error'][$i];
             }
     } else {
             if(
    move_uploaded_file($file_temp'uploads/' .$file_name.'')) {
                 echo 
    '<h3>Upload Successful!</h3>';
             } else {
                 echo 
    '<h3>ERROR</h3>';
             }
     }
     
        } else {
             echo 
    '<h3>No file has been selected.</h3>';
         }
       }

    So könnte es stimmen... Kanns leider gerade nicht Testen


    Versuchs mal so....

    Nicht perfekt, aber mir ist gerade etwas langweilig ^^

    anzeige.php

    PHP-Code:
    <h1>Dateien</h1>
    <form enctype="multipart/form-data" action="[PFAD ZUR UPLOAD.PHP]" method="post">
    Datei: <input type="file" name="file">
    <input type="submit" value="Datei hochladen">
    </form>

    <?php
      $verz
    ="/";
      
    $verzeichnis openDir("uploads");
    ?>
      <p>Verzeichnis <b><?PHP echo $verz?></b> enthält folgende Dateien:</p>
      <ul>
        <?PHP
          
    while ($file readDir($verzeichnis)) {
            if (
    $file != "." && $file != ".."){
              echo 
    "<li><a href=\"uploads".$verz."/".$file."\">".$file."</a></li>";
            }
          }
          
    closeDir($verzeichnis); 
        
    ?>
      </ul>

    upload.php
    PHP-Code:
    <?php
      $tempname 
    $_FILES['file']['tmp_name'];
      
    $name $_FILES['file']['name'];
      if(
    copy($tempname"uploads/".$name)) {
        echo 
    "Die Datei ".$name." wurde erfolgreich hochgeladen!";
      }
      else {
        echo 
    "Der Upload ist leider fehlgeschlagen.";
      }
    ?>
    Ich nutze hier bewusst den Copy befehl, da dieser auch im Safe mode ohne probleme läuft, und die temps sich eh nicht lange halten!

    WICHTG:
    die "anzeige.php" und "upload.php" sollten in dem gleichen ordner sein... zu den beiden Datein musst du logischerweise auch den Ordner uploads in das verzeichniss packen
    Geändert von AsoraX (03.02.2012 um 13:50 Uhr)

  14. #14
    Reg.-Benutzer
    Reg.-Datum
    19.02.2001
    Ort
    Strausberg
    Beiträge
    1.844

    Standard

    @AsoraX Das war jetzt den dritte Post den ich von dir auf dem Schirm habe und drei mal hast du das eigentliche Problem ignoriert. Deine Lösung mit der copy-Funktion wird ebenfalls scheitern falls der Ornder nicht existiert oder die Rechte nicht stimmen.
    open source for open minds!

    www.e-treu.de

  15. #15
    Reg.-Benutzer Avatar von AsoraX
    Reg.-Datum
    10.08.2009
    Ort
    Mannheim
    Beiträge
    28

    Standard

    Erstens habe ich das mit dem Ordner sogar extra nochmal dazu gepinnt, und soviel Hirn denke ich kann man erwarten ...
    Was denn für rechte? Schreibrechte (CHMOD 777) gelden für Datein, und nicht für Ordner...

    Wer seinen "uploads" ordner einen schreibschutz verpasst, über den brauchen wir garnicht reden!

    ---------------
    [EDIT]
    Unter aktueller. Xampp und Plesk getestet und zumindest bei meiner zweiten lösung..... es geht so, und das ohne den hauch einer Konfiguration

    Kann dir aber auch gerne noch ein Script schreiben was dir erlaubt Ordner zu erstellen
    Geändert von AsoraX (03.02.2012 um 14:11 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. [PHP] Upload Script: Von URL hochladen
    Von Manchi im Forum Skript- und Webserverprogrammierung
    Antworten: 1
    Letzter Beitrag: 23.06.2008, 10:02
  2. PHP: Upload script
    Von andRe´ im Forum Skript- und Webserverprogrammierung
    Antworten: 4
    Letzter Beitrag: 05.09.2007, 14:37
  3. Suche PHP Script News schriben und Bild upload
    Von Anwendungsentwickler im Forum Skript- und Webserverprogrammierung
    Antworten: 4
    Letzter Beitrag: 25.01.2006, 14:29
  4. Upload via ftp Probleme!
    Von akiraxx im Forum Skript- und Webserverprogrammierung
    Antworten: 4
    Letzter Beitrag: 25.01.2005, 16:20
  5. Java Script - Upload Vorbelegung
    Von jokker im Forum Skript- und Webserverprogrammierung
    Antworten: 4
    Letzter Beitrag: 12.11.2001, 18:21

Die häufigsten Suchbegriffe für diese Seite:

Bisher noch keine Treffer von einer Suchmaschine