einfacher upload

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Divane
Mitglied
Beiträge: 46
Registriert: 30.03.2003 14:08

einfacher upload

Beitrag von Divane »

hi

ich wollte fragen ob jemand einen ganz einfachen upload script kennt. ich möchte das ich auf einen server eine html seite aufrufen kann indem ich eine datei von meinem PC auswähle und dann auf den server uploade.

danach wäre es nicht schlecht wenn man den link zu der datei angezeigt bekommt...

danke vorraus (hoffendlich richtiges forum :) )
Divane
Mitglied
Beiträge: 46
Registriert: 30.03.2003 14:08

Beitrag von Divane »

ich hab den script von hier
http://www.php4-forum.de/beispiele/anwendung_upload.htm
in eine php datei eingefügt. brauche ich keine html datei wo ich die datei von meinem PC auswählen kann und sie dann abschicken kann...
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Das Formular ist doch in der Datei mit drin...
Divane
Mitglied
Beiträge: 46
Registriert: 30.03.2003 14:08

Beitrag von Divane »

also muss ich das hier in ein textdokumet einfügen und dann als upload.php uploaden.

wenn ich dann was uploaden will einfach upload.php aufrufen.
oder?

Code: Alles auswählen

<?php
  if($was=="doit") { 

    $size = $bild_size; // Größe der Datei 

    $name = $bild_name; // Der Originalname 

    $type = $bild_type; // Der MIME Type der Datei 


    if(eregi("(jpg|gif|txt|htm|html)$",$name)) { 
    if($size<6000 AND $size!=0) { 
      copy($bild,$name); // Kopiert das Bild 

      echo "Die Datei erfolgreich hochgeladen.<br>"; 
      echo "Größe: ".$size." Byte<br>"; 
      echo "Name: ".$name."<br>";
      echo "MIME-Type: ".$type."<br>";
      echo "Ansehen: <a href='".$name."'>".$name."</a>";  
    } else { 
      echo "Ihre Datei ist über 5,5 KB oder gleich 0";  
    } 
    } else { 
    echo "Falsche Erweiterung: ".$name; 
    } 

  } else { 

    echo "<form action='".$PHP_SELF."' enctype=\"multipart/form-data\" method='post'>"; 
    echo "<input type='hidden' name='was' value='doit'>"; 
    echo "<table>"; 
    echo "<tr>"; 
      echo "<td>Datei</td>"; 
      echo "<td><input type='file' name='bild'></td>"; 
    echo "</tr><tr>"; 
      echo "<td> </td>"; 
      echo "<td><input type='submit' value='Hochladen'></td>"; 
    echo "</tr>"; 
    echo "</form></table>"; 
  } 
?>
Chainat
Mitglied
Beiträge: 70
Registriert: 22.12.2002 22:40
Wohnort: Luzern

Beitrag von Chainat »

Pyramide

Danke erstmal für den Datenupload-Script. Funktioniert einwandfrei. Nun aber eine Frage zu einer Änderung. Ist es möglich, dass die hochgeladenen Bilder einen neuen Namen bekommen, so dass es nicht passieren kann, dass ein bereits vorhandenes Bild überschrieben wird durch ein neues Bild!

Chainat
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Ändere dazu einfach den zweiten Parameter von [php:move_uploaded_file] entsprechend ab
Olli2
Mitglied
Beiträge: 27
Registriert: 25.11.2002 14:40
Kontaktdaten:

Beitrag von Olli2 »

Ich hab dazu mal eine Frage....

Auch hab ein kleine Script wo ich Dateien hochladen kann...ABER

ich will gar nicht die Größe einschrenken...trotzdem kann ich nur maximal 2MB uploaden...WARUM das???

Die if($size>2000000) ....
hab ich einfach mal auskommentiert...
trotzdem kann ich nicht mehr als 2MB hochladen.

Kann mir da einer weiter helfen???

Hier mal mein Code dazu:

Code: Alles auswählen

<html>
<head>
</head>
<body>
<form enctype="multipart/form-data" action="laden.php" method="post"> 
<input type="file" name="file"><br> 
<input type="submit" value="hochladen"> 
</form> 

<?php 
$tempname = $_FILES['file']['tmp_name']; 
$name     = $_FILES['file']['name']; 
$type     = $_FILES['file']['type']; 
$size     = $_FILES['file']['size'];

$mb = doubleval($size) / 1000;        // Für die Ausgabe der Größe wenn die Datei hochgeladen wurde in kbytes
$mb = number_format($mb, 2, '.', ''); //Zahlenformat


if(    
       ($type != "image/gif")                //gif
    && ($type != "image/pjpeg")              //jpeg
    && ($type != "application/x-zip-compressed") //Zip
    && ($type != "application/msword")       //Word
    && ($type != "application/pdf")          //PDF
    && ($type != "text/plain")               //text
    && ($type != "text/html")                //html
    && ($type != "audio/mpeg")               //mp3
    && ($type != "application/vnd.ms-excel") //Excel
  ) 
{ 
    $err[] = "nur gif,jpeg,pdf's, doc's, HTML und zip - Dateien dürfen hochgeladen werden."; 
} 
/* if($size > "2000000") 
{ 
    $err[] = "Die Datei \"$name\" welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 1 MB!"; 
} */


// Die Funktion empty() liefert true zurück, wenn eine Variable wie "$err" nicht definiert,
// leer oder gleich 0 ist. In allen anderen Fällen wird false als Antwort geliefert.
if( empty($err) ) 
{ 
    copy("$tempname", "$name"); 
    echo "Die Datei mit dem Namen \"$name\" von der Grösse $mb kb, wurde erfolgreich hochgeladen!"; 
}
else { 
    foreach($err as $error)
    echo "$error<br>";
}
echo "<br>";

?>
</body>
</html>
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Liegt wohl an der PHP internernen Uploadbegrenzung (definiert in der php.ini).
Olli2
Mitglied
Beiträge: 27
Registriert: 25.11.2002 14:40
Kontaktdaten:

Beitrag von Olli2 »

Was muss ich da genau ändern?

Hab ein eigenen Server und würde das gern ausprobieren.
Antworten

Zurück zu „Coding & Technik“