Zudila AG

Webseiten-Erstellung
Webseiten-Programmierung
Webseiten-Wartung
8057 Zürich
Tel: +41 44 310 14 25
Fax: +41 44 310 14 26
Mob: +41 79 691 87 58
vCard, Skype: juergzuerich Skype: juergzuerich

Funktion mit PHP & MySQL: Bildupload v1.2 ohne Zeilennummern anzeigen

PHP & MySQL: Bildupload v1.2

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html>
  4. <head>
  5. </head>
  6.  
  7. <body>
  8.  
  9. <?php
  10. include('sicher/inc.php');
  11.  
  12. // Der Link zum Uploadverzeichnis
  13. $bildlink = 'bildup' ;
  14. // Für die DB, im Beispiel immer Satz-Nr. 1
  15. $selection = 1 ;
  16.  
  17. // Bildbreite der zu erstellenden Bilder in Pixel festlegen.
  18. $bildbreite_norm  = '200';
  19. $bildbreite_small = '50';
  20.  
  21. // löschen --------------------------------------------------------------------
  22. if (isset($_POST['delete'])) {
  23.   $bild_bild = strip_tags($_POST['bild_bild']);
  24.   $bild_db   = strip_tags($_POST['bild_db']);
  25.    
  26.   // löschen in Ordner  
  27.   $bildteil = split("[.]",$bild_bild) ;
  28.   $bild_bild_norm = $bildteil[0].'_norm.'.$bildteil[1] ;
  29.   $bild_bild_small = $bildteil[0].'_small.'.$bildteil[1] ;
  30.  
  31.   // Fehlermeldung vermeiden, falls Datei nicht vorhanden!
  32.   $dateivorhanden_norm = file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm) ;
  33.   if ($dateivorhanden_norm) {
  34.     unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm ) ;
  35.   }    
  36.   $dateivorhanden_small = file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small) ;  
  37.   if ($dateivorhanden_small) {  
  38.     unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small ) ;
  39.   }
  40.  
  41.   // leeren in der Datenbank
  42.   $query = " UPDATE bildup
  43.  SET ".$bild_db." = ''
  44.  WHERE id_bild = '".$selection."' " ;
  45.   $result = mysql_query($query) ;
  46. }
  47.  
  48. // hochladen ------------------------------------------------------------------
  49. if (isset($_POST['submit'])) {
  50.   $id_bild    = strip_tags($_POST['id_bild'])
  51.   $verfall    = strip_tags($_POST['verfall']);      // Hier nicht verwendet!
  52.   $bildnummer = strip_tags($_POST['bildnummer']);
  53.        
  54.   $dateiname  = $_FILES['datei']['name'] ;
  55.   $dateitype  = $_FILES['datei']['type'] ;
  56.   $dateisize  = $_FILES['datei']['size'] ;
  57.  
  58.   // prüfen vor hochladen
  59.   if (empty($dateiname)) {
  60.     $fehlermeldung = '<span class="rot"><br /><br />
  61.    Du musst eine Datei angeben!<br /><br /></span>' ;
  62.   }
  63.   elseif ( $dateisize > '524000') {
  64.     $fehlermeldung = '<span class="rot"><br /><br />
  65.    Deine Datei &#252;berschreitet die erlaubte
  66.    Datei-Gr&#246;sse von 500 kByte!<br /><br /></span>' ;
  67.   }
  68.   elseif ( strlen( $dateiname ) > '25') {
  69.     $dateinamengroesse = strlen($dateiname) - 25 ;
  70.     $fehlermeldung = '<span class="rot"><br /><br />
  71.    Der Dateiname &#252;berschreitet die maximal erlaubte Zeichenl&#228;nge
  72.    um <strong>'.$dateinamengroesse.'</strong>Zeichen!<br />
  73.    <br /></span>' ;
  74.   }
  75.   elseif ( $dateitype == 'image/jpeg' || $dateitype == 'image/pjpeg' || $dateitype == 'image/x-png' ) {
  76.     //Wandelt einige Sonderzeichen um
  77.     $dateiname1 = strtr("$dateiname", " äöüàôûáèéçß", "_aouaouaeecs") ;
  78.     //Wandelt den Dateinamen in Kleinbuchstaben um
  79.     $dateiname2 = strtolower("$dateiname1") ;
  80.  
  81.     $bildteil = split("[.]",$dateiname2) ;
  82.     $dateivorhanden = file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bildteil[0].'_norm.'.$bildteil[1]) ;
  83.  
  84.     if ($dateivorhanden) {
  85.       $fehlermeldung = '<span class="rot"><br /><br />
  86.      Eine Datei mit dem Dateinamen <strong>'.$dateiname2.'</strong>
  87.      ist bereits vorhanden, bitte w&#228;hle einen anderen Namen.<br />
  88.      <br /></span>' ;
  89.     }
  90.     else {
  91.       // hochladen der Ursprungsdatei -----------------------------------------
  92.       move_uploaded_file( $_FILES['datei']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  93.  
  94.       // copy in Endverzeichnis
  95. //    copy($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2, $_SERVER['DOCUMENT_ROOT'].'/??????/'.$dateiname2 ) ;
  96.       // löschen temp-datei
  97. //    unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  98.  
  99.       // nun Grösse bestimmen und berechnen
  100.       $gross = getimagesize( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  101.       $breite = $gross[0] ;
  102.       $hoehe = $gross[1] ;
  103.       $typ = $gross[2] ;
  104.  
  105.       $hoehe_norm = $hoehe * $bildbreite_norm / $breite ;
  106.       $image_norm = imagecreatetruecolor( $bildbreite_norm , $hoehe_norm ) ;
  107.  
  108.       $hoehe_small = $hoehe * $bildbreite_small / $breite ;
  109.       $image_small = imagecreatetruecolor( $bildbreite_small , $hoehe_small ) ;
  110.  
  111.       // neue Bildnamen
  112.       $bild_s = split("[.]",$dateiname2);
  113.       $dateiname2_norm = $bild_s[0].'_norm.'.$bild_s[1] ;
  114.       $dateiname2_small = $bild_s[0].'_small.'.$bild_s[1] ;
  115.  
  116.       // Normbild erstellen
  117.       switch ($typ) {
  118.         case 2:
  119.           $image = imagecreatefromjpeg( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  120.           break;
  121.         case 3:
  122.           $image = imagecreatefrompng( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  123.           break;
  124.       }
  125.       imagecopyresampled($image_norm, $image, 0, 0, 0, 0, $bildbreite_norm, $hoehe_norm, $breite, $hoehe);
  126.  
  127.       switch ($typ) {
  128.         case 2:
  129.           imagejpeg($image_norm, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm , 100 );
  130.           break;
  131.         case 3:
  132.           imagepng($image_norm, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm );
  133.           break;
  134.       }
  135.  
  136.       // Smallbild erstellen
  137.       switch ($typ) {
  138.         case 2:
  139.           $image = imagecreatefromjpeg( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  140.           break;
  141.         case 3:
  142.           $image = imagecreatefrompng( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
  143.           break;
  144.       }
  145.       imagecopyresampled($image_small, $image, 0, 0, 0, 0, $bildbreite_small, $hoehe_small, $breite, $hoehe);
  146.  
  147.       switch ($typ) {
  148.         case 2:
  149.           imagejpeg($image_small, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
  150.           break;
  151.         case 3:
  152.           imagepng($image_small, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
  153.           break;
  154.       }
  155.  
  156.       // Ursprüngliches Bild löschen
  157.       unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ; // zur Probe auskommentieren!
  158.  
  159.       // DB eintragen
  160.       $query = "UPDATE bildup
  161.      SET ".$bildnummer." = '".$dateiname2."', verfall = ".$verfall."
  162.      WHERE id_bild = ".$id_bild." " ;
  163.       mysql_query($query, $conn);
  164.  
  165.       $fehlermeldung = '<br /><br />Dein Foto <strong>'.$dateiname2.'</strong>
  166.      wurde erfolgreich abgeschickt!<br /><br />' ;
  167.     }
  168.   }
  169.   else {
  170.     $fehlermeldung = '<span class="rot"><br /><br />
  171.    Es werden nur Dateien von folgendem Typ zum Upload akzeptiert:<br /><br />
  172.    <strong>jpeg, jpg, jpe, png</strong><br /><br />
  173.    Dein Datei-Typ: '.$dateitype.'<br /><br /></span>';
  174.   }
  175.  
  176.   // auf NULL setzen ---------------------------
  177.   $submit = "" ; $dateityp = "" ; $dateiname = "" ; $dateiname2 = "" ;
  178.   $dateiname2_small = "" ;
  179.   $hoehe = "" ; $breite = "" ;
  180. }
  181.  
  182. // aus DB zur Anzeige ---------------------------------------------------------
  183.  
  184. $query = " SELECT *
  185. FROM bildup
  186. WHERE id_bild = '".$selection."' " ;
  187. $result = mysql_query($query, $conn);
  188. $row = mysql_fetch_array($result);
  189.  
  190. $bild_1 = $row['bild_1'] ;
  191. if ($bild_1 != '') {
  192.   $bild_1_s = split("[.]",$bild_1);
  193.   $bild_1_norm = $bild_1_s[0].'_norm.'.$bild_1_s[1];
  194.   $bild_1_small = $bild_1_s[0].'_small.'.$bild_1_s[1];
  195.   $gross1_norm = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_norm);
  196.   $gross1_small = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_small);
  197. }
  198. $bild_2 = $row['bild_2'] ;
  199. if ($bild_2 != '') {
  200.   $bild_2_s = split("[.]",$bild_2);
  201.   $bild_2_norm = $bild_2_s[0].'_norm.'.$bild_2_s[1];
  202.   $bild_2_small = $bild_2_s[0].'_small.'.$bild_2_s[1];
  203.   $gross2_norm = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_norm);
  204.   $gross2_small = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_small);
  205. }
  206. $bild_3 = $row['bild_3'] ;
  207. if ($bild_3 != '') {
  208.   $bild_3_s = split("[.]",$bild_3);
  209.   $bild_3_norm = $bild_3_s[0].'_norm.'.$bild_3_s[1];
  210.   $bild_3_small = $bild_3_s[0].'_small.'.$bild_3_s[1];
  211.   $gross3_norm = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_norm);
  212.   $gross3_small = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_small);
  213. }
  214.  
  215. // welche Bilder werden als nächstes hochgeladen
  216. if ( $bild_3 == "" ) { $bildnr = "bild_3" ; $titeltext = "Foto 3, Bildtitel 1" ; }
  217. if ( $bild_2 == "" ) { $bildnr = "bild_2" ; $titeltext = "Foto 2, Bildtitel 2" ; }
  218. if ( $bild_1 == "" ) { $bildnr = "bild_1" ; $titeltext = "Foto 1, Bildtitel 3" ; }
  219. ?>
  220.  
  221. <h2>Beispiel</h2>
  222.  
  223. <center>
  224. <?php echo $fehlermeldung ; ?>
  225. <table>
  226.   <colgroup>
  227.     <col width="50" />  
  228.     <col width="200" />
  229.     <col />            
  230.   </colgroup>
  231.   <tr>
  232.     <td>
  233.       <strong>Foto 1</strong><br />
  234. <?php
  235. if ( $bild_1 != "" ) {
  236.   echo '
  237.      <div>
  238.      <img src="/'.$bildlink.'/'.$bild_1_small.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_small.'" height="'.$gross1_small[1].'" />
  239.      </div>
  240.    </td>
  241.    <td>
  242.      Bildtitel 1<div>
  243.      <img src="/'.$bildlink.'/'.$bild_1_norm.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_norm.'" height="'.$gross1_norm[1].'" />
  244.      </div>
  245.    </td>
  246.    <td class="rechts">
  247.      '.$bild_1.'<br /><br />
  248.      <form action ="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
  249.        <input type="hidden" name="bild_db" value="bild_1" />
  250.        <input type="hidden" name="bild_bild" value="'.$bild_1.'" />
  251.        <input class="norm" type="submit" name="delete" value="Löschen" />
  252.      </form>
  253.  ';
  254. }
  255. else {
  256.   echo '
  257.    </td>
  258.    <td>Bildtitel 1</td>
  259.    <td class="rechts">Kein Bild!
  260.  ' ;
  261. }
  262. ?>
  263.     </td>
  264.   </tr>
  265.   <tr><td colspan="3"><hr /></td></tr>
  266.   <tr>
  267.     <td>
  268.       <strong>Foto 2</strong><br />
  269. <?php
  270. if ( $bild_2 != "" ) {
  271.   echo '
  272.      <div>
  273.      <img src="/'.$bildlink.'/'.$bild_2_small.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_small.'" height="'.$gross2_small[1].'" />
  274.      </div>
  275.    </td>
  276.    <td>
  277.      Bildtitel 2<div>
  278.      <img src="/'.$bildlink.'/'.$bild_2_norm.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_norm.'" height="'.$gross2_norm[1].'" />
  279.      </div>
  280.    </td>
  281.    <td class="rechts">
  282.      '.$bild_2.'<br /><br />
  283.      <form action ="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
  284.        <input type="hidden" name="bild_db" value="bild_2" />
  285.        <input type="hidden" name="bild_bild" value="'.$bild_2.'" />
  286.        <input class="norm" type="submit" name="delete" value="Löschen" />
  287.      </form>
  288.  ';
  289. }
  290. else {
  291.   echo '
  292.    </td>
  293.    <td>Bildtitel 2</td>
  294.    <td class="rechts">Kein Bild!
  295.  ' ;
  296. }
  297. ?>
  298.     </td>
  299.   </tr>
  300.   <tr><td colspan="3"><hr /></td></tr>
  301.   <tr>
  302.     <td>
  303.       <strong>Foto 3</strong><br />
  304. <?php
  305. if ( $bild_3 != "" ) {
  306.   echo '
  307.      <div>
  308.      <img src="/'.$bildlink.'/'.$bild_3_small.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_small.'" height="'.$gross3_small[1].'" />
  309.      </div>
  310.    </td>
  311.    <td>
  312.      Bildtitel 3<div>
  313.      <img src="/'.$bildlink.'/'.$bild_3_norm.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_norm.'" height="'.$gross3_norm[1].'" />
  314.      </div>
  315.    </td>
  316.    <td class="rechts">
  317.      '.$bild_3.'<br /><br />
  318.      <form action ="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
  319.        <input type="hidden" name="bild_db" value="bild_3" />
  320.        <input type="hidden" name="bild_bild" value="'.$bild_3.'" />
  321.        <input class="norm" type="submit" name="delete" value="Löschen" />
  322.      </form>
  323.  ';
  324. }
  325. else {
  326.   echo '
  327.    </td>
  328.    <td>Bildtitel 3</td>
  329.    <td class="rechts">Kein Bild!
  330.  ' ;
  331. }
  332. ?>
  333.     </td>
  334.   </tr>
  335. </table>
  336. </center>
  337.  
  338. <?php
  339. // Löschzeitpunkt festlegen, hier nicht verwendet!
  340. $verfall = time() + 3600 ; // jetzt plus 60 Min.
  341.  
  342. // Formular zum Hochladen -----------------------------------------------------
  343. if ( $bild_1 == "" || $bild_2 == "" || $bild_3 == "" ) {
  344.   echo '
  345. <form method="post" action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" enctype="multipart/form-data" name="meldung">
  346. <table>
  347.  <tr>
  348.    <td>
  349.      Es wird hochgeladen: <strong>'.$titeltext.'<br />
  350.      Dateiname:</strong>
  351.      <input type="file" name="datei" size="80" />
  352.    </td>
  353.  </tr>
  354.  <tr>
  355.    <td>
  356.      <input type="hidden" name="id_bild" value="'.$selection.'" />
  357.      <input type="hidden" name="verfall" value="'.$verfall.'" />
  358.      <input type="hidden" name="bildnummer" value="'.$bildnr.'" />
  359.      <input class="norm" type="submit" value="hochladen" name="submit" />
  360.    </td>
  361.  </tr>
  362. </table>
  363. </form>
  364.  ';
  365. }
  366. else {
  367.   echo '<center><div class="rot">Es können keine weiteren Bilder
  368.  hochgeladen werden.</div></center>' ;
  369. }
  370. ?>
  371. <!--
  372. Quelle Script: http://www.zudila.ch/scripte/php_bildup.php
  373. Zudila Bildupload v1.2, GPL
  374. -->
  375.  
  376. </body>
  377. </html>
  378.  
Script Update: 08.05.08

Copyright © 1998 - 2010, Zudila AG, CH 8057 Zürich Diese Seite (www.zudila.ch/scripte/php_bildup_anz.php) wurde aktualisiert: 08.05.08

Besucher heute: 160 Seitenaufrufe heute: 545 gerade online: 2
Besucher gestern: 220 Seitenaufrufe gestern: 470 max. online: 135
Besucher pro Tag: 206,52 Seitenaufrufe pro Tag: 680,52 Eigene Seitenaufrufe: 41
Valid XHTML 1.0! Valid CSS! ICRA Best viewed with any browser

www.zudila.ch   info@zudila.ch

nach oben
Herr Jürg Dieter Lüthard Jürg D. Lüthard Zudila AG www.zudila.ch Krokusweg 6 Switzerland 8057 Zürich Zürich +41 44 310 14 25 +41 79 691 87 58 +41 44 310 14 26
N 47º 24.2416 O 8º 32.9866
business Webseiten erstellen, programmieren, warten /
Web pages provide, program, wait /
Les pages Web fournissent, programment, attendent