tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
23
ZUGRIFFE
1749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Mal davon abgesehen, das du eine (für mich) eigenartige schreibweise (alles in php zu packen) hast, poste doch das überarbeitete Script noch einmal.
    (Wie gesagt, das ist meine persönliche meinung und nicht böse gemeint.)
    Auch die schreibweise deiner switch case Bedingung (alternative Syntax).
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  2. #17
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Ich bin an der Stelle Autodidakt und wenn man nicht Fragt, kann man nicht besser werden. Ich habe vieles selbver bei gebracht und fand diese Variante nicht verkehrt.
    Hier das Script aus dem Tutorial, was funktioniert:

    test.html:
    PHP-Code:
    <form enctype="multipart/form-data" action="upload.php" method="post"
    <
    input type="file" name="file"><br
    <
    input type="submit" value="hochladen"
    </
    form
    upload.php
    PHP-Code:
    <?php  
    $first_name 
    "Jochen";
    $uid "22";
    $tempname $_FILES['file']['tmp_name'];  
    $name $_FILES['file']['name']; 
    $type $_FILES['file']['type'];  
    $size $_FILES['file']['size'];  
     if(
    $type != "image/gif" && $type != "image/pjpeg") {  
        
    $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";  
    }  
    if(empty(
    $err)) {  
        
    copy("$tempname""applicant/$uid-$first_name-test");  // An der Stelle kann ich leider nicht feststellen, warum er mir keine Dateiänderung ranhängt!
        
    echo "Die Datei $name wurde erfolgreich hochgeladen!";  
    }  
    else {  
        foreach(
    $err as $error)  
        echo 
    "$error<br>";  
    }  
    ?>
    Wenn ich den Teil der upload.php dann in mein anderes script einbinde, funktioniert es nicht mehr!
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  3. #18
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Noch eine verständnis Frage.
    Was für eine Datei möchtest du uploaden ?
    Zu diesm Formular sollen Dokument hochgeladen werden.
    Das Tutorial was du da nutzt,prüft ob du ein pjpeg oder gif hochladen möchtest.
    Der upload selber ist das:
    PHP-Code:
    if($_POST['submit']) {
     
    $tempname $_FILES['personalrecord']['tmp_name'];
     
    copy("$tempname""/wo/auch/immer/Datei.txt"); 
     } 
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  4. #19
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Also, es sollen JPG und PDF-Datein sein! Da sich bei diesem Script Online beworben werden soll!
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  5. #20
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Okay, mit dem copy-Befehl hat es nach langem tüffteln dann geklappt. Jetzt noch ein kleines anderes Problem:

    PHP-Code:
    $tempname $_FILES['personalrecord']['tmp_name'];
    copy("$tempname""applicant/$uid-$last_name-personalrecord"); 
    Dies kopiert ja die Datei und benennt sie um, nur leider ohne Erweiterung. Wie kann man die Original-Erweiterung da wieder anhängen?
    Geändert von Seven Secrets (20.12.05 um 10:08 Uhr)
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  6. #21
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Ich habe es jetzt wie folgt probiert, nur Leider bekomme ich so auch keine Datei-Erweiterung. Warum?

    PHP-Code:
    $tempname $_FILES['personalrecord']['tmp_name'];
    $pfad_info pathinfo($tempname);
    copy("$tempname""applicant/$uid-$last_name-personalrecord"); 
    rename("applicant/".$uid."-".$last_name."-personalrecord","applicant/".$uid."-".$last_name."-personalrecord.".$pfad_info["extension"]); 
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  7. #22
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Die Lösung war dann doch ganz einfach! Da ja die $tempname das temporäre Hick-Hack speichert ohne Endeung, mußte ich nur den eigentlichen Dateiname nutzen!

    PHP-Code:
    $tempname $_FILES['personalrecord']['tmp_name'];
    $name $_FILES['personalrecord']['name'];
    $pfad_info pathinfo($name);
    copy("$tempname""applicant/$uid-$last_name-personalrecord.".$pfad_info["extension"]); 
    So wird ein Schuh draus! Danke trotzdem an alle! Bis demnächst!
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  8. #23
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Hallo,
    das ist so nicht ganz richtig.
    In $_FILES[][] wird viel mehr übergeben.
    Ich weiß nicht wie fit du mit Arrays bist, aber probier mal print_r($_FILES)
    in deinem Script aus.
    link
    z.B.:
    PHP-Code:
              $type $_FILES['personalrecord']['type']
            if (
    $type "image/pjpeg"$mime ".jpg";
       elseif (
    $type "image/gif"$mime ".gif";
            else 
    $mime ".xxx"
    usw.
    (oder switch case )
    ... "applicant/$uid-$last_name-personalrecord".$mime;

    Wichtig:
    Auch wegen der Sicherheit !

    MfG
    Tabuk

    Geändert von Tabuk (20.12.05 um 16:37 Uhr)
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  9. #24
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Okay, habe ich auch gelesen, nur ging bei der Kopiererei und dem gleichzeitigem Umbenennen immer die Erweiterung verloren. So mußte ich mir einen weg bauen. Da es mit dem Auslesen der erweiterung aus dem Temp-name nicht ging, mußte ich es so lösen. Naja, nicht schön, aber selten. Welche Dateiendungen erkennt $_FILES eigentlich. dazu habe ich noch nix gefunden.

    Greetz!
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

Ähnliche Themen

  1. Upload-Formular
    Von DaveThuet im Forum PHP
    Antworten: 1
    Letzter Beitrag: 18.11.07, 15:25
  2. Formular mit Upload
    Von vexx im Forum PHP
    Antworten: 6
    Letzter Beitrag: 04.04.05, 14:02
  3. upload via formular
    Von longstar im Forum PHP
    Antworten: 14
    Letzter Beitrag: 10.02.05, 18:03
  4. Upload-Formular?
    Von corsanostra im Forum PHP
    Antworten: 1
    Letzter Beitrag: 26.02.02, 22:32