tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1231
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    PHPlehrling PHPlehrling ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    61
    Hi. Ich habe ein Paar fragen zu datei upload
    erstens: Die kann ich noch andere dateitypen also z.B. zip hochladen lassen.
    -wie kann ich den ordener wählen, in den hochgeladen werden soll
    -und wie kann ich es machen, dass pfad zur datei und name usw. in der db gespeichert wird.
    - damit verbunden wir kann ich es machen, dass ich den namen der datei im verzeichniss selber verändert im ordner speicher. denn originalnamen aber in der db speicher.(überschneidungsproblem wollte ich dann mit dem hochzählen einer nummer bewältigen.)

    PHP-Code:
    <?php
    $tempname 
    $_FILES['file']['tmp_name'];
    $name $_FILES['file']['name'];
    $type $_FILES['file']['type'];
    $size $_FILES['file']['size'];
    if(
    $type != "image/gif" && $type != "image/pjpeg" && $type != "file/zip") { 
    $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."

    if(
    $size "15000") { 
    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!"

    if(empty(
    $err)) {
    copy("$tempname""$name");
    echo 
    "Die Datei $name wurde erfolgreich hochgeladen!";
    }
    else {
    foreach(
    $err as $error)
    echo 
    "$error<br>";
    }
    ?>
     

  2. #2
    nick nick ist offline Mitglied Bronze
    Registriert seit
    Aug 2002
    Ort
    Bolligen
    Beiträge
    37
    hier wird die datei im verzeichnis checklisten abgelegt, du kannst hier einfach $newname noch verzeichnisse eingeben...

    $newname = "checklisten/".$name;
    copy("$tempname", "$newname");

    zum speichern des pfads in die db speicher doch einfach $newname als pfad ab... dies könnte meiner meinung nach ca hinkommen
     

  3. #3
    PHPlehrling PHPlehrling ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    61
    hm****? $newname wie wo was. verstehe nicht wie du das meinst
     

  4. #4
    PHPlehrling PHPlehrling ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    61
    ok habe es jetzt soweit, dass er es in die db einträgt und dass er es in nem anderen ordner speichert. nur wie ich das mit dem namen machen kann weiß ich nocht nicht.
    Vielleicht kann da noch jemand nen anstoß geben
    PHP-Code:
    <?php 
    require("functions.php");
    if(isset(
    $_REQUEST['action'])) $action=$_REQUEST['action'];
    else 
    $action="view";
      if(
    $action == "upload") { 
         
        
    $file=$HTTP_POST_FILES['file']['tmp_name']; 
        
    $size=$HTTP_POST_FILES['file']['size']; 
        
    $name=$HTTP_POST_FILES['file'][name]; 
        
    $type=$HTTP_POST_FILES['file'][type]; 


        if(
    eregi("(txt|jpg|jpeg|bmp|gif|png|ace|rar|zip)$",$name)) { 
        if(
    $size 2000000 AND $size!=0) { 
        
    copy($file,"attachements/$name"); // Kopiert das Bild 
    $insert $db->query("INSERT INTO ibb".$bnr."_attachements (name,type,size,link) VALUES ('$name','$type','$size','attachements/$name')");
             } else { 
          echo 
    "Ihre Datei ist über 2000KB groß, oder der Server hat eine Dateigrößebegrenzung!";   
        } 
        } else { 
        echo 
    "Falsche Erweiterung: ".$name
        } 

      } 
    if(
    $action == "view"){

     eval(
    "dooutput(\"".gettemplate("upload")."\");");
      } 
    ?>
     

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Köln
    Beiträge
    796
    also erstmal: warum speicherst du denn den dateityp und -größe in der db? außerdem würd ich in der datenbank nur den bildnamen speichern. stell dir mal vor, du änderst aus irgendeinem grund den ordner der bilder, dann darfste alle einträge in der datenbank ändern. speicher lieber nur den dateinamen und da wo das bild eingebunden wird, da kannst du dann den bildordner angeben.

    zum namen:
    irgendwie versteh ich nich was du willst. du musst den gleichen namen nehmen, wie er auch in der datenbank eingetragen wird. sonst klappt das ja nich. bei dem dateinamen würd ich das sowieso so machen, dass du einen namen vergibst (du kannst ja im dateinamen noch irgendwas dranhängen, wie z.b. time() oder so). dann hast du auch keine probleme, falls im dateinamen irgendwelche sonderzeichen sind.
     
    You want me to be, something I can never ever be!

  6. #6
    Trash Trash ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Beiträge
    400
    dazu hab ich auch mal eine Frage...wie kann ich denn z.B. den Dateinamen des Bildes verändern: Sprich z.B. aus hallo.jpg wird dann: 1234.jpg

    ?
    EDIT:
    habs hinbekommen...
    Geändert von Trash (23.04.03 um 13:58 Uhr)
     

  7. #7
    Registriert seit
    Dec 2001
    Ort
    Köln
    Beiträge
    796
    ok, mal n beispiel. im folgenden wird davon ausgegangen, dass es im upload formular ein textfeld gibt, wo der user seinen namen eintragen kann. dieser wert soll neben dem unix-timestamp als bestandteil des neuen bildnamens werden:

    PHP-Code:
    $tmp        $_FILES["f_datei"]["tmp_name"]; // tmp name
    $size       $_FILES["f_datei"]["size"]; // file size
    $type       $_FILES["f_datei"]["type"]; // file type
    $filename   $_FILES["f_datei"]["name"]; // file name
    $arrEndung  explode(".",$filename); // file type
    $user         $_POST["f_name"]; // user name
    $datei         time()."_".$user.".".$arrEndung[count($arrEndung)-1]; // file name (database)
    $dir        "images/upload/".$datei// 

    // check file type
    ...

    // chek file size
    ...

    $upload = @move_uploaded_file($tmp,$dir); 
    so, und nun kann $datei in die datenbank gespeichert werden.
     
    You want me to be, something I can never ever be!

  8. #8
    PHPlehrling PHPlehrling ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    61
    ne nicht so ganz. Also ich arbeite in der Tabelle mit fileid z.B. und deswegen soll auf dem Space die files auch mit file-1.zip , file-2.gif usw. gespeichert werden. Nur habe ich ka wie ich das machen kann.
     

  9. #9
    Skala Skala ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    42
    Hallo zusammen

    Ich hab auch noch ne kleine Frage zum Upload, wollte keinen neuen Thread aufmachen deswegen.

    Ich hab ein Upload erstellt und hatte damit eigentlich auch keine Probleme (bzw sie sind bewältigt) . Als ich jenes input feld jedoch dann in ein anderes formular kopierte welches auch inputs vom type text hat klappte gar nix mehr.

    ist es definitiv nicht möglich ein form mit text und file types laufen zu lassen oder mach ich was falsch?

    gruss gala
     

  10. #10
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Das ist schon möglich. Du musst nur auf das enctype="multipart/form-data" im Form-Element achten.
     

  11. #11
    Skala Skala ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    42
    danke für die schnelle antwort!

    werde es gleich versuchen
     

Ähnliche Themen

  1. Viele Fragen...
    Von mccae im Forum Java
    Antworten: 0
    Letzter Beitrag: 26.12.09, 16:43
  2. Viele Fragen !
    Von TobGod im Forum VisualStudio & MFC
    Antworten: 7
    Letzter Beitrag: 05.03.06, 15:08
  3. Viele Fragen zu MS Projekt!
    Von Thomas Lindner im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 01.10.03, 07:50
  4. Habe viele viele Fragen !
    Von ThePretender im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 8
    Letzter Beitrag: 06.05.02, 22:58
  5. viele fragen :)
    Von Bleem im Forum PHP
    Antworten: 17
    Letzter Beitrag: 02.04.02, 18:25