Ergebnis 1 bis 6 von 6
  1. #1
    Coyboc ist offline Eroberer
    registriert
    13-07-2009
    Beiträge
    60

    Post [PHP] Upload von Mehreren Bildern (Script)

    Also ich hab mich mal an ein Script gewagt, mit dem man mehrere Dateien gleichzeitig(das script machts nacheinander) Uploadet, hauptsächlich nur für Bilder.

    Es erlaubt nur den Upload von JPG/JPEG,GIF undd PNGs, die nicht größer als 300KB sind. Vor dem uploaden wird man gefragt wie viele Bilder man uploaden will, man kann 1-10 Bilder gleichzeitig uploaden, wobei es noch so geschrieben ist das die zahl beliebig erhöht werden kann, wenn man das script ändert.

    Wenn das script zum erstenmal ausgeführt wird, oder es den ordner 'upload' innerhalb des ordners wo sich das Script befindet nicht vorhanden ist, wird der Ordner 'upload' automatisch erstellt.

    Einfach kopieren und auf euren Server austesten, wenn ihr die Lust habt, ich danke für kretik und hinweise .

    (hab das script von hinten bis vorn selbst entwickelt, ich hab nur im internet zu aufrischung einiger funktionen gesucht)

    PHP-Code:
    <? 
    //Erstellt ein Verzeichnis im Ordner wo das Script ist
    if (@mkdir('upload'))
    {
      echo 
    '<div style="font-size:11px;">Da das Script zum erstenmal ausgeführt wurde, wurde der Ordner /upload/ erstellt! Das geschieht nur wenn der ordner Upload nicht vorhanden ist.</div>';
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Fotos-uploaden</title>
    </head>

    <body>
    <?
    //wird ausgeführt wenn Bilder hochgeladen werden
    if(isset($_POST['senden']) && $_POST['senden'] == "Senden"){
    $wie_viel=0;
        
    //zählt übertragnungen
        
    for($i=1;$i<=$_POST['anzahl'];$i++){
        if(isset(
    $_FILES['foto_'.$i]['tmp_name']) && $_FILES['foto_'.$i]['type'] != ""){$wie_viel++;}
        }
        
    $z=0;
        
    //beginn der kopierschleifer der Bilder
            
    for($i=1;$i<=$_POST['anzahl'];$i++){
                
    //Kontrolle ob überhaupt was hochgeladen wird, kein leeren Feld wird hochgeladen
                
    if(isset($_FILES['foto_'.$i]['tmp_name']) && $_FILES['foto_'.$i]['type'] != ""){
                    
    //aussortierung der Bilder die nicht dem Dateiangaben entsprechen
                    
    if($_FILES['foto_'.$i]['type'] != "image/jpg" && $_FILES['foto_'.$i]['type'] != "image/jpeg" && $_FILES['foto_'.$i]['type'] != "image/gif" && $_FILES['foto_'.$i]['type'] != "image/png"){            $z++;
                        
    //spaltung der infomation der Dateiangabe für Fehlermedlung
                        
    $type explode("/",$_FILES['foto_'.$i]['type']);
                        
    //Fehlermeldung
                        
    echo "<div>".$z."/".$wie_viel." Die Datei <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> muss ein Jpeg/Jpg, Gif oder PNG Format sein! Es ist eine \"".$type[1]."\"-Datei!</div>";
                        }else{
                        
    //kontrolle ob das Bild nich größer ist als 300KB
                        
    if($_FILES['foto_'.$i]['size'] > 300000){
                            
    //fehlermeldung
                                        
    $z++;
                            echo 
    "<div>".$z."/".$wie_viel." Die Dateigröße des Fotos <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> ist zu groß! Es dürfen nur Bilder mit der maximalen Dateigröße von 300KB hochgeladen werden!(Datei größe ihres Bildes:".round(($_FILES['foto_'.$i]['size']/1000),1)."KB)</div>";
                            }else{
                                
    $kontrolletrue;
                                
    $open opendir("./upload/");
                                    
    // Kontrolle ob das Bild schon vorhanden ist
                                    
    while($file readdir($open)){if($_FILES['foto_'.$i]['name'] == $file){$kontrolle=false;}}
                                        
    //wenn bild schon vorhanden dann ist kontrolle false geetzt, und Fehlermeldung wird ausgegeben
                                        
    if($kontrolle == false){$z++;echo "<div>".$z."/".$wie_viel." Das Foto <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> ist schon Vorhanden, keine Übertragung!</div>";}
                                        else{
                                    
    //übertragung in den upload Ordner, wenn fehler beim übertragen, keine übertragung stattdessen Fehlermeldung
                                    
    if(!move_uploaded_file($_FILES['foto_'.$i]['tmp_name'], "./upload/".$_FILES['foto_'.$i]['name'])){
                                                
    $z++;
                                        echo 
    "<div style=\"color:red;\">".$z."/".$wie_viel." Fehler beim Hochladen der Datei: ".$_FILES['foto_'.$i]['name']."!</div>";
                                        }else{            
    $z++; echo "<div>".$z."/".$wie_viel." ".$_FILES['foto_'.$i]['name']." <span style=\"color:green;text-decoration:underline; font-style:italic;\">Übertragen!</span></div>";}
                                            }
                            }
                    }
                }
            }            

    }else{
    //Wird beim laden der seite ausgeführt, wenn seite zum 1.mal geladen wurde
    if(!isset($_POST['zahl']) || $_POST['zahl'] <=|| !isset($_POST['Bauen']))
        {echo 
    'Wie viele Bilder möchtest du Hochladen?<form name="inputs" action="'.$_SERVER['PHP_SELF'].'" method="POST"><input size="2px" maxlength="2" type="text" name="zahl" value=""><input type="submit" name="Bauen" value="Los!" /></form><div style="font-size:11px;color:red;">(Es werden der übersichthalber nur Maximal 10 Bilder hochgeladen werden!<br>Es werden nur Bilder mit den Dateiformat JPEG/JPG/PNG/GIF und kleiner als 300KB groß sind hochgeladen!)</div>';die();}

    ?>
    <!-- File-Form für den Upload -->
    <form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF']; ?>" method="post">
    <?
    //anzahl der angegebenen Inputfelder wird in variable $inputs übergeben
    $inputs $_POST['zahl'];
    //ist $inouts größer als 10, wird diese auf 10 gesetzt und es wird eine alertfenster ausgegeben, von javvascript
    if($inputs 10){$inputs 10; echo '<script type="text/javascript">alert("Es können nur maximal 10 Bilder gleichzeitig hochgeladen werden! Die Anzahl wird auf 10 beschränkt!");</script>';}
    //bau der Inputfelder
    for($i 1$i <= $inputs$i++){
    echo 
    "Bild ".$i.": <input type='file' name='foto_".$i."'><br>";
    }
    ?>
    <input type='hidden' name='anzahl' value='<? echo $i?>'><input type='submit' name='senden'  value='Senden'>
    </form>
    <? ?>
    </body>
    </html>
    (Funktiontüchtigkeit bis jetzt nur mit FireFox garantiert, überarbeitungen laufen)
    Angehängte Dateien Angehängte Dateien
    Geändert von Coyboc (21-07-2009 um 19:55 Uhr)

  2. #2
    Coyboc ist offline Eroberer
    registriert
    13-07-2009
    Beiträge
    60

    Arrow [PHP] Upload von Mehreren Bildern (Script) - Fixed

    Hier der nachbearbeitete Script:
    -Es werden nun die Browser erkannt (hauptsächlich IE;Firefox;Opera) und angezeigt
    -es wurden einige Rechtschreibfehler entfernt
    -einige texte wurden überarbeitet
    -ich hab nun meine initialien in den quellcode eingefügt, mit email und namen
    hoffe des gefällt euch besser, das script befindet sich im Anhang als ZIP-Datei, und beinhaltet:

    Code:
    Upload_script_by_Coyboc/
     /upload.php
     /Firefox_Upload.gif
     /IE_Upload.gif
     /Opera_Upload.gif
    Angehängte Dateien Angehängte Dateien

  3. #3
    Coyboc ist offline Eroberer
    registriert
    13-07-2009
    Beiträge
    60

    AW: [PHP] Upload von Mehreren Bildern (Script)

    mhh, intressiert wohl kaum jemanden hier^^

  4. #4
    Coyboc ist offline Eroberer
    registriert
    13-07-2009
    Beiträge
    60

    AW: [PHP] Upload von Mehreren Bildern (Script) - Updated

    Script nachbearbeitet:
    Komplette überarbeitung überall, hinzugefügt und neuer Schwerpunkt der seite FTP-Stream.

    Du hast jetzt die möglichkeit auf ein FTP-Server zuzugreifen, als aller erstes solltest du die Konfiguration machen, diese speichert sich dann ab und liegt im hintergrund solange vor bis du sie löschen solltest.

    Danach kannst du dich mit deinem FTP-passwort (username wurde vorher in der config.conf datei gespreichert) auf den FTP einloggen und bis zu 10 Dateien hochladen.

    Es werden Ordnerstruktur, und ordner des ausgeweählten ordners angezeigt, nach upload der dateien.

    Rechte sollten für ordner erstellung auf den FTP vorhanden sein, oder der Eingestellte ordner ist schon auf dem FTP vorhanden.

    Die Zip-Datei beinhaltet:
    Code:
    Upload_page/
     css/
      css-styles.css
     ftp/
       java/
        line.php
       temp/
     ftp_config.php
     ftp_infos.php
     ftp_logged.php
     pics/
     Firefox_upload.gif
     IE_upload.gif
     Opera_upload.gif
     upload/
    footer.php
    impressum.php
    index.php
    styles.php
    upload_direct.php
    upload_ftp.php
    Installation:
    Direkt auf den PHP-Server-Root kopieren, und über browser
    *deine hostip"/upload_page/ aufrufen.

    Ich danke euch wenn ihr mir Anregungen und Fehler meldet.
    Ich arbeite weiter an der Seite.
    Angehängte Dateien Angehängte Dateien

  5. #5
    seby1302 ist offline Grünschnabel
    registriert
    02-05-2011
    Beiträge
    1

    AW: [PHP] Upload von Mehreren Bildern (Script)

    Hi binn neu hier grad angemeldet, darum weiß ich nicht gennau ob ich jetzt hier rein schreiben kann

    Dein upload ist cool, allerdings kam da einen fehler bei mir (Firefox) wegen das getBrowser online 9:

    habs aber so gemacht

    PHP-Code:
    function using_ie()
    {
        $u_agent = $_SERVER['HTTP_USER_AGENT'];
        $ub = False;
        if(preg_match('/MSIE/i',$u_agent))
        {
            $ub = True;
        }
       
        return $ub;
    }

    function ie_box() {
        if (using_ie()) {
            ?>
            <div class="iebox">
                This page is not designed for Intenet Explorer. <a href="http://www.google.com/chrome">Google Chrome</a>.
            </div>
            <?php
        
    return;
        }
    }
    ?>

    <?php
    function getBrowser()
    {
        
    $u_agent $_SERVER['HTTP_USER_AGENT'];
        
    $bname 'Unknown';
        
    $platform 'Unknown';
        
    $version"";

        
    //First get the platform?
        
    if (preg_match('/linux/i'$u_agent)) {
            
    $platform 'linux';
        }
        elseif (
    preg_match('/macintosh|mac os x/i'$u_agent)) {
            
    $platform 'mac';
        }
        elseif (
    preg_match('/windows|win32/i'$u_agent)) {
            
    $platform 'windows';
        }
       
        
    // Next get the name of the useragent yes seperately and for good reason
        
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
        {
            
    $bname 'Internet Explorer';
            
    $ub "MSIE";
        }
        elseif(
    preg_match('/Firefox/i',$u_agent))
        {
            
    $bname 'Mozilla Firefox';
            
    $ub "Firefox";
        }
        elseif(
    preg_match('/Chrome/i',$u_agent))
        {
            
    $bname 'Google Chrome';
            
    $ub "Chrome";
        }
        elseif(
    preg_match('/Safari/i',$u_agent))
        {
            
    $bname 'Apple Safari';
            
    $ub "Safari";
        }
        elseif(
    preg_match('/Opera/i',$u_agent))
        {
            
    $bname 'Opera';
            
    $ub "Opera";
        }
        elseif(
    preg_match('/Netscape/i',$u_agent))
        {
            
    $bname 'Netscape';
            
    $ub "Netscape";
        }
       
        
    // finally get the correct version number
        
    $known = array('Version'$ub'other');
        
    $pattern '#(?<browser>' join('|'$known) .
        
    ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
        if (!
    preg_match_all($pattern$u_agent$matches)) {
            
    // we have no matching number just continue
        
    }
       
        
    // see how many we have
        
    $i count($matches['browser']);
        if (
    $i != 1) {
            
    //we will have two since we are not using 'other' argument yet
            //see if version is before or after the name
            
    if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
                
    $version$matches['version'][0];
            }
            else {
                
    $version$matches['version'][1];
            }
        }
        else {
            
    $version$matches['version'][0];
        }
       
        
    // check if we have a number
        
    if ($version==null || $version=="") {$version="?";}
       
        return array(
            
    'userAgent' => $u_agent,
            
    'name'      => $bname,
            
    'version'   => $version,
            
    'platform'  => $platform,
            
    'pattern'    => $pattern
        
    );
    }

    // now try it
    $ua=getBrowser();
    $yourbrowser"Your browser: " $ua['name'] . " " $ua['version'] . " on " .$ua['platform'] . " reports: <br >" $ua['userAgent'];

    print_r($yourbrowser);
    der script anstadt dein $browse = getBrowser(NULL,True);

    Hast du auch arnung von mysql? suche gennau so einem upload der aber die bilder z.b xxx.jpg in der bd speichert.


    Lg seby

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [PHP] Upload von Mehreren Bildern (Script)

    Schau' mal auf das Datum der Vorgängerbeiträge.

Ähnliche Themen

  1. [php] Script zur Email-Weiterleitung
    Von enrique im Forum Script-Check
    Antworten: 27
    Letzter Beitrag: 22-07-2010, 20:11
  2. [PHP] messenger script
    Von Ju. im Forum Script-Check
    Antworten: 0
    Letzter Beitrag: 01-10-2003, 22:38
  3. [PHP] Zugriff auf script verweigert
    Von J-C im Forum Serverseitige Programmierung
    Antworten: 22
    Letzter Beitrag: 19-08-2003, 16:07
  4. [PHP] Online-Zeit Script
    Von Ju. im Forum Script-Check
    Antworten: 1
    Letzter Beitrag: 15-06-2003, 17:00
  5. [PHP] fehler im script
    Von Strichmaxal im Forum Serverseitige Programmierung
    Antworten: 2
    Letzter Beitrag: 05-04-2003, 21:51

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •