Upload klappt nicht

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von tk86, 26.05.2005.

  1. tk86

    tk86 Thread Starter MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    19.05.2005
    Ich hab die PHP Entropy Version installiert. Wenn ich eine Datei hochladen will, zB ein Bild, klappt dies nicht wie gewöhnlich. Muss man da noch eine Funktion aktivierenn?
     
  2. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.693
    Zustimmungen:
    602
    Mitglied seit:
    24.09.2003
    "Klappt nicht" ist eine sehr dürftige Fehlerbeschreibung.

    Warum beschreibst Du nicht,
    - was Du genau gemacht hast,
    - welches Ergebnis Du erhalten hast, und
    - wie dieses Ergebnis verschieden war, von dem, was Du erwartet hast?
    ggf. noch
    - Programmcode,
    - besondere Einstellungen,
    - Version der verwendeten Programme.
     
  3. tk86

    tk86 Thread Starter MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    19.05.2005
    Code:
    PHP:
    $pfad "../banner";                                                  
                        if (
    $_POST["file_name"] == ""
                            {
                                echo 
    $body;
                                die(
    "Keine Datei gewählt.");
                            }
                        
    $upload "$file_name";
                    
                        @
    copy($file"$pfad/$upload") or die("Datei wurde nicht hochgeladen.");
                    
                        echo 
    "Bild erfolgreich hochgeladen!";
    Und im Formular steht:
    enctype="multipart/form-data"

    Das hat bisher immer geklappt und jetzt kommt nur noch "Keine Datei gewählt."

    Mit weiteren Tests kann ich nur feststellen, dass die Variable nichts beinhaltet.
     
  4. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.693
    Zustimmungen:
    602
    Mitglied seit:
    24.09.2003
    schon mal versucht:
    PHP:
    $pfad "../banner";   
    # $file_name=$_POST["file_name"];
    $file_name=<ein Dateiname>;                         
                        if (
    $file_name == ""
                            {
                                echo 
    $body;
                                die(
    "Keine Datei gewählt.");
                            }
                        
    $upload "$file_name";  # wie wird diese Variable befüllt?
                    
                        
    @copy($file"$pfad/$upload") or die("Datei wurde nicht hochgeladen.");
                    
                        echo 
    "Bild erfolgreich hochgeladen!";
    Welche Variable?
    (Mensch, lass Dir doch nicht alles aus der Nase ziehen!)
     
  5. wegus

    wegus MacUser Mitglied

    Beiträge:
    14.826
    Zustimmungen:
    1.425
    Mitglied seit:
    13.09.2004
    Folgendes muß in der /usr/local/php5/lib/php.ini stehen:

    Code:
    ;;;;;;;;;;;;;;;;
    ; File Uploads ;
    ;;;;;;;;;;;;;;;;
    
    ; Whether to allow HTTP file uploads.
    file_uploads = On 
    
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    ;upload_tmp_dir =
    
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 2M
    
    
    ist file_uploads = no, ist kein upload möglich. Die upload-Grenze von 2MB ist häufig zu klein gewählt, solltest Du also anpassen!
     
  6. tk86

    tk86 Thread Starter MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    19.05.2005
    also das file_uploads ist auf on

    mit der leeren variable meinte ich die Variable $_POST["file_name"], mit der normalerweise der Dateiname übergeben werden sollte!

    Wenn ich den Dateinamen vorher schon definiere,
    PHP:
    $pfad "../banner";    
                        
    # $file_name=$_POST["file_name"]; 
                        
    $file_name"/Users/myuser/Pictures/beet/PICT5425.JPG";                          
                        if (
    $file_name == ""
                            { 
                                die(
    "Keine Datei gewählt."); 
                            } 
                     
                        
    $upload "test.jpg";
                        
                        @
    copy($file_name"$pfad/$upload") or die("Datei wurde nicht hochgeladen."); 
                         
                        echo 
    "Bild erfolgreich hochgeladen!"
    kommt nur
    "Datei wurde nicht hochgeladen."
     
  7. lindic

    lindic MacUser Mitglied

    Beiträge:
    197
    Zustimmungen:
    5
    Mitglied seit:
    20.11.2004
    Die Variable würde ich besser so "empfangen": $_FILES['file']['name']
    ... dann klappts auch bei ausgeschalteten register_globals

    Auf jeden Fall solltest du mal das @-Zeichen vor copy weg machen, dann kommt evtl. auch eine Fehlermeldung.
     
  8. tk86

    tk86 Thread Starter MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    19.05.2005
    Auch über
    PHP:
    $file_name$_FILES['file']['name'];
    bekomme ich keinen Dateinamen übergeben!

    Im Formular ist das Feld jetzt so definiert:
    HTML:
    <input name="file" type="file" id="file" size="15">
     
  9. lindic

    lindic MacUser Mitglied

    Beiträge:
    197
    Zustimmungen:
    5
    Mitglied seit:
    20.11.2004
    Dann nimm mal einen anderen Variablennamen als "file", da "file" ja auch eine Funktion in PHP ist.

    Beispiel:
    HTML:
    <input name="datei" type="file" id="file">
    und bei register_globals=on:
    PHP:
    copy($datei$pfad."/".$datei_name);
    oder bei register_globals=off:
    PHP:
    copy($_FILES['datei']['tmp_name'], $pfad."/".$_FILES['datei']['name']);
     
  10. tk86

    tk86 Thread Starter MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    19.05.2005
    Die Suizid-Gefahr, die eben noch da war, ist jetzt plötzlich weg:

    Hab extra den IE installiert und getestet, weil ich vor 2 min zufällig ein prob mit dem hochladen eines Bildes in ein Forum hatte. Mit dem IE gings bei mir jetzt auf dem Server auch! Safari-Einstellungen angeschaut:

    Schuld war der Haken Privates Surfen, den ich wohl im Spieltrieb ausprobiert habe, als ich vor einem Monat mein PB erhalten habe :mad:

    Diese 5 Stunden kann ich jetzt wohl leider nicht weiter berechnen! Danke für eure Hilfe!
     
Die Seite wird geladen...

Diese Seite empfehlen