Ergebnis 1 bis 7 von 7
  1. #1
    Anfänger
    Registriert seit
    28.09.2008
    Beiträge
    15

    Standard Bildergalerie und Dateiupload

    hallo

    möchte gerne mit php eine bildergalerie anlegen. und zwar so, dass ich bilder in ne sql-datenbank reinspeichere und dann mit ner schleife zeile für zeile auslese und in so ne art html-tabelle ausgebe. bloss hab ich leider noch in keinem tutorial so recht rausgefunden, wie man das mit dem upload macht.
    noch ne kurze frage: kann man auch so was programmieren, dass die besucher meiner seite ein photo hochladen können?
    wär schön, wenn jemand ne antwort hätte.
    vielen dank!

  2. #2
    we can make the world stop Avatar von maoshe
    Registriert seit
    13.06.2007
    Beiträge
    2.089

    Standard

    seit wann kann man bilder in ne sql speichern?!
    nim doch einfach simpleviewer + nem upload script.....
    (ง ͠° ͟ل͜ ͡°)ง
    Zitat Zitat von Southpark
    ICH FAPP GRAD MAN
    Zitat Zitat von Southpark
    mein SCHPERMA isch AGGRESSIV

  3. #3
    The Chosen One oder so Avatar von Apex
    Registriert seit
    16.09.2007
    Beiträge
    1.469

    Standard

    Hier ist die Index.PHP:
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <?php
      include_once("config.inc.php");
      ?>
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title><-~._.~SkyDogs~._.~-> :: Image Upload</title>
      </head>
      <body onLoad="addtext('more', 'details')">
      
    
    <font size="4px" face="Geneva, Arial, Helvetica, sans-serif"><-~._.~SkyDogs~._.~-> :: Image Upload</font></p>
    <form name="upload" action="index.php" method="post" enctype="multipart/form-data"><fieldset><legend>Laden Sie ein Bild hoch.</legend>
    <table widht="100%" border="0" cellspacing="0" cellpading="0">
     <tr>
       <td><label class="uploadlabel">Wählen Sie eine Bilddatei:</label></td>
       <td><input name="datei" type="file"></td>
     </tr>
     <td><label class="uploadlabel">Nutzungsbedingungen:</label></td>
     <td><input name="nutzung" id="nutzung" checked="checked" type="checkbox">Hiermit aktzeptiere ich die Nutzungsbedingungen.</td>
     </tr>
     <tr>
     <td><label class="uploadlabel">Hochladen:</label></td>
     <td><input value="Upload" name="lol" onclick="this.blur(); warten()" style="widht: 95px;" type="submit"><font id="loadlinglogo"></font></td>
     </tr>
     </table>
     
     </fieldset></form>
     
    
     <fieldset><legend>Aktion</legend>
     <?php
              $catdir = $_POST['cat'];
              $nutzung = $_POST ["nutzung"];
              $comtext = $_POST ["text"];
              $comname = $_POST ["name"];
              $type = ($_FILES["datei"] ["name"]);
              $imagepfad = "$dir/";
              $thumbpfad = $imagepfad. "Thumb/";
              $neu = mt_rand(000000000, 999999999);
              $erweiterung = explode(".", $type);
              $dateierweiterung = strtolower($erweiterung[sizeof($erweiterung)-1]);
    if($_FILES["datei"]["name"] == ""){
        echo "Bitte Bild zum Hochladen ausw&auml;hlen!"; 
    }
    else if($_FILES["datei"]["tmp_name"] == ""){
        echo "<font color=\"#dd0000\">Fehler bei der &Uuml;bertragung, Datei zu gro&szlig;?</font>"; 
    }
    else if (!$nutzung){
      echo "<font color=\"#dd0000\">Sie haben die Nutzungsbestimmungen nicht best&auml;tigt.</font>";
    }
    else if(preg_match('/jpg|jpeg|JPG|JPEG|png|PNG|gif|GIF|psd|PSD/',$erweiterung[1])){
      
         //Datei hochladen
    	 move_upload_file($_FILES["datei"] ["tmp_name"],
    	             "$imagepfad$neu.$dateierweiterung");
    	 $datei = "$imagepfad$neu.$dateierweiterung";
    	 $thumb = "$thumbpfad$neu.$dateierweiterung";
    	 chmod($datei, 0777);
    	 $imgsize2 = getimagesize("$datei");
    	 $imagewidth = $imagesize2[0];
    	 $imageheight = $imagesize2[1];
    	 $size = filesize($datei);
      $size = $size/1024;
      $size = round($size,2);
      $mbsize = $size/1024;
      $mbsize = round($mbsize,2);
           //Thumb erstellen
    	if (preg_match('/jpg|jpeg|JPG|JPEG|png|PNG|gif|GIF/',$erweiterung[1])){
    	         if ($imagewidth < $gtw && $imageheight < $gth){
    			 $imageheightn = $imageheight;
    			 $imagewidthn = $imagewidth;
    			 }
    			 else{
    			 $imagewidthn = $gtw;
    			 $calc2 = $imagewidth/$imagewidthn;
    			 $imageheightn = $imageheight/$calc2;
    			 $imageheightn = round($imageheight,0);
    	if ($imageheightn > $gth){
    	         $imageheightn2 = $gth;
    			 $calc = $imageheightn/$imageheightn2;
    			 $imageheightn = $imageheightn2;
    			 $imagewidthn = $imagewidthn/$calc;
    			 $imagewidthn = Round($imagewidthn,0);
    			 
               }
            }
            if (preg_match('/jpg|jpeg|JPG|JPEG/', $erweiterung[1])){
                   $create=imagecreatefromjpeg($datei);
            }
    
            if (preg_match('/png|PNG/',$erweiterung[1])){
                   $create=imagecreatefrompng($datei);
            }
    
            if (preg_match('/gif|GIF/',$erweiterung[1])){
                   $create=imagecreatefromgif($datei);
            }
    
    $dst_img=ImageCreateTrueColor($imagewidthn, $imageheightn);
    imagecopyresampled($dst_img,$create,0,0,0,0,$imagewidthn, $imageheightn,$imagewidth,$imageheight);
    
    
            if (preg_match("/png|PNG/",$erweiterung[1])){
                   imagepng($dst_img,$thumb);
            }
            if (preg_match("/gif|GIF/",$erweiterung[1])){
                   imagegif($dst_img,$thumb);
            }
            else {
                   imagejpeg($dst_img,$thumb);
            }
            chmod($thumb,0777);
            imagedestroy($dst_img);
            imagedestroy($create);
            }
    echo 'Die Bilddatei wurde erfolgreich hochgeladen!
    
    ';
    echo '<fieldset class="add"><legend id="detailslegend">[img]content/plus.gif[/img] mehr Details</legend><div id="details">Erhalten Sie mehr Informationen &uuml;ber das hochgeladene Bild.</div></fieldset>';
    
    }
    
    else{
    echo "<font color=\"#dd0000\">Datei Typ ist ung&uuml;ltig/keinBild!!</font>";
    }
    
    echo '<script type="text/javascript">
    function addtext(was, wo){
    	if (wo == "details"){
    		if (was == "more"){
    			document.getElementById(wo).innerHTML=\'Die Datei ist '.$size.' KB gro&szlig;, das sind '.$mbsize.' MB.';
    			if(preg_match('/jpg|jpeg|JPG|JPEG|png|PNG|gif|GIF/',$erweiterung[1])){
    				echo'.
    Die Aufl&ouml;sung betr&auml;gt '.$imagewidth.' x '.$imageheight.' Pixel.
    
    <a href="'.$datei.'"[img]'.$thumb.'[/img]</a>';
    			} 
    			echo'
    
    Der Link:
    <input name="textfield1" type="text" value="'.$url.'/'.$datei.'" size="55" onClick="select();focus();">
    
    </p>In die Website einbauen:
    <input name="textfield2" type="text" value="<a href=&quot;'.$url.'/'.$datei.'&quot; target=&quot;_blank&quot;><img src=&quot;'.$url.'/'.$dir.'/'.$thumb.'&quot;></a>" size="55" onClick="select();focus();">
    
    PHP-BB-Code (f&uuml;r Forum etc.)
    <input name="textfield3" type="text" value="[img]'.$url.'/'.$dir.'/'.$thumb.'[/img]" size="55" onClick="select();focus();">
    \';
    			document.getElementById(wo + "legend").innerHTML=\'[img]content/minus.gif[/img] weniger Details\';
    			}
    		else if (was =="less"){
    			document.getElementById(wo).innerHTML=\'Erhalten Sie mehr Informationen &uuml;ber das hochgeladene Bild.\';
    			document.getElementById(wo + "legend").innerHTML=\'[img]content/plus.gif[/img] mehr Details\';
    			}
    	}
    }
    </script>';
    ?>
    </fieldset>[img]loading,gif[/img]
    
    </body>
    </html>
    Und das ist die Config.inc.php
    Code:
    <?php
    	//#######Config Anfang#######
    	//URL Einstellungen
    	
    	//Domain + Pfad zur imageupload index.php datei
    	$url = "URL Zur index.php";
    	
    	//Imagepfad, ausgehend von $url
    	$dir = "user";
    	
    	
    	//#######Thumbs#######
    	//galeriethumbheight - max höhe minithumb
    	$gth = 400;
    	
    	//galeriethumbwidth - max breite bei galerieansicht
    	$gtw = 400;
    
    ?>
    Das Ding speichert die Bilder in einem extra Ordner und hat weitere Funktionen wie Thumbnail etc.
    "Die Menschheit wird eines Tages zu Grunde gehen. Vermutlich aus dem gleichen Grund wie die Dinosaurier - zu viel Panzer und zu wenig Hirn."


  4. #4
    we can make the world stop Avatar von maoshe
    Registriert seit
    13.06.2007
    Beiträge
    2.089

    Standard

    alter, hast du ne macke? wozu haben wir ein eigenes nopaste, wenn es dann leute, wie dich gibt, die einfach so nen fetten source posten?!
    http://nopaste.free-hack.com/index.php?id=b262212e64
    http://nopaste.free-hack.com/index.php?id=5b517385e9


    ps: genau aus diesem grund bin ich noch immer für die einführung von
    (ง ͠° ͟ل͜ ͡°)ง
    Zitat Zitat von Southpark
    ICH FAPP GRAD MAN
    Zitat Zitat von Southpark
    mein SCHPERMA isch AGGRESSIV

  5. #5
    The Chosen One oder so Avatar von Apex
    Registriert seit
    16.09.2007
    Beiträge
    1.469

    Standard

    Keine Lust gehabt
    "Die Menschheit wird eines Tages zu Grunde gehen. Vermutlich aus dem gleichen Grund wie die Dinosaurier - zu viel Panzer und zu wenig Hirn."


  6. #6
    Anfänger
    Registriert seit
    28.09.2008
    Beiträge
    15

    Standard

    ok danke erstmal. werde mal versuchen, das ding nachzuvollziehen und verushcen, was über simpleviewer rauszufinden. davon hab ich bisher noch nix gehört

  7. #7

    Standard

    Zitat Zitat von maoshe
    seit wann kann man bilder in ne sql speichern?!
    nim doch einfach simpleviewer + nem upload script.....
    Seit BLOB

    Mfg

    Chaos

    PS: Ich sage nicht das diese Variante vorzuziehen ist
    Eine Regierung muß sparsam sein, weil das Geld, das sie erhält, aus dem Blut und Schweiß ihres Volkes stammt.
    Es ist gerecht, daß jeder einzelne dazu beiträgt, die Ausgaben des Staates tragen zu helfen. Aber es ist nicht gerecht, daß er die Hälfte seines jährlichen Einkommens mit dem Staate teilen muß.

    Friedrich II. der Große

Stichworte

Berechtigungen

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