php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.01.2009, 18:24  
Neuer Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 2
calimero87 befindet sich auf einem aufstrebenden Ast
Standard Problem mit Bildupload Script

Hallo zusammen!

Ich war schon seit ewiger Zeit auf der Suche nach einem passenden Bildupload script für meine Website und bin nun endlich fündig geworden: Script PHP + MySQL: Bilderupload

Es handelt sich um ein relativ einfaches script, das aus einer Datei namens bildup.php und einem dazugehörigen leeren Ordner namens "bildup" besteht. Die oben genannte Seite liefert eine genaue Anleitung für die Installation des Scriptes, an die ich mich gehalten habe. Jedoch funktioniert das ganze nicht so wie es sollte und ich kann den Fehler nicht finden.

Unter folgender URL kann das Script wie ich es installiert habe aufgerufen werden: http://www.36t.ch/database/bildup.php

Die Datenbanktabellen wurden meiner Meinung nach richtig erstellt. Ebenso kann die php Datei eine Verbindung mit der MySql Datenbank herstellen.

Die Datei "bildup.php" wie sie jetzt auf dem Server ist, kann hier heruntergeladen werden: http://www.36t.ch/database/bildup/bildup.zip

ich wäre wirklich froh, wenn ihr mir helfen könntet!!!
Vielen Dank im voraus!
calimero87 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.01.2009, 18:33  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

In den betreffenden Zeilen wird eine Variable $conn eingesetzt die vorher nirgendswo auftaucht oder deklariert wird im Script.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 07.01.2009, 17:15  
Neuer Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 2
calimero87 befindet sich auf einem aufstrebenden Ast
Standard

ahh super jetzt funktionierts! Danke!! =)
calimero87 ist offline  
Alt 23.10.2010, 22:22  
Neuer Benutzer
 
Registriert seit: 28.08.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
SoulReaver ist in Verruf geraten
Standard

Hallo,

der Thread ist zwar schon etwas älter, möchte ihn aber an dieser Stelle nochmals aufgreifen, da ich dieses Script nun ebenfalls ausprobiert habe und es auch bei mir nicht funktioniert.
(@litterauspirna: die Variable @conn befindet sich in der inc.php)

Die Datei bildup.php
PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>

<body>

<?php
include('inc.php');

// Der Link zum Uploadverzeichnis
$bildlink 'bildupload' ;
// Für die DB, im Beispiel immer Satz-Nr. 1
$selection ;

// Bildbreite der zu erstellenden Bilder in Pixel festlegen.
$bildbreite_norm  '200';
$bildbreite_small '50';

// löschen --------------------------------------------------------------------
if (isset($_POST['delete'])) {
  
$bild_bild strip_tags($_POST['bild_bild']);
  
$bild_db   strip_tags($_POST['bild_db']);
    
  
// löschen in Ordner   
  
$bildteil split("[.]",$bild_bild) ;
  
$bild_bild_norm $bildteil[0].'_norm.'.$bildteil[1] ;
  
$bild_bild_small $bildteil[0].'_small.'.$bildteil[1] ;

  
// Fehlermeldung vermeiden, falls Datei nicht vorhanden!
  
$dateivorhanden_norm file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm) ; 
  if (
$dateivorhanden_norm) {
    
unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm ) ;
  }     
  
$dateivorhanden_small file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small) ;   
  if (
$dateivorhanden_small) {  
    
unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small ) ;
  }

  
// leeren in der Datenbank
  
$query " UPDATE bildup
  SET "
.$bild_db." = ''
  WHERE id_bild = '"
.$selection."' " ;
  
$result mysql_query($query) ;
}

// hochladen ------------------------------------------------------------------
if (isset($_POST['submit'])) {
  
$id_bild    strip_tags($_POST['id_bild']);  
//  $verfall    = strip_tags($_POST['verfall']);      // Hier nicht verwendet!
  
$bildnummer strip_tags($_POST['bildnummer']);
        
  
$dateiname  $_FILES['datei']['name'] ;
  
$dateitype  $_FILES['datei']['type'] ;
  
$dateisize  $_FILES['datei']['size'] ;
  
  
// prüfen vor hochladen 
  
if (empty($dateiname)) {
    
$fehlermeldung '<span class="rot"><br /><br />
    Du musst eine Datei angeben!<br /><br /></span>' 
;
  }
  elseif ( 
$dateisize '524000') {
    
$fehlermeldung '<span class="rot"><br /><br />
    Deine Datei überschreitet die erlaubte
    Datei-Grösse von 500 kByte!<br /><br /></span>' 
;
  }
  elseif ( 
strlen$dateiname ) > '25') {
    
$dateinamengroesse strlen($dateiname) - 25 ;
    
$fehlermeldung '<span class="rot"><br /><br />
    Der Dateiname überschreitet die maximal erlaubte Zeichenlänge
    um <strong>'
.$dateinamengroesse.'</strong>Zeichen!<br />
    <br /></span>' 
;
  }
  elseif ( 
$dateitype == 'image/jpeg' || $dateitype == 'image/pjpeg' || $dateitype == 'image/x-png' ) {
    
//Wandelt einige Sonderzeichen um
    
$dateiname1 strtr("$dateiname"" äöü�*ôûáèéçß""_aouaouaeecs") ;
    
//Wandelt den Dateinamen in Kleinbuchstaben um
    
$dateiname2 strtolower("$dateiname1") ;

    
$bildteil split("[.]",$dateiname2) ;
    
$dateivorhanden file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bildteil[0].'_norm.'.$bildteil[1]) ;

    if (
$dateivorhanden) {
      
$fehlermeldung '<span class="rot"><br /><br />
      Eine Datei mit dem Dateinamen <strong>'
.$dateiname2.'</strong>
      ist bereits vorhanden, bitte wähle einen anderen Namen.<br />
      <br /></span>' 
;
    }
    else {
      
// hochladen der Ursprungsdatei -----------------------------------------
      
move_uploaded_file$_FILES['datei']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;

      
// copy in Endverzeichnis
//    copy($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
      // löschen temp-datei
//    unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;

      // nun Grösse bestimmen und berechnen
      
$gross getimagesize$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
      
$breite $gross[0] ;
      
$hoehe $gross[1] ;
      
$typ $gross[2] ;

      
$hoehe_norm $hoehe $bildbreite_norm $breite ;
      
$image_norm imagecreatetruecolor$bildbreite_norm $hoehe_norm ) ;

      
$hoehe_small $hoehe $bildbreite_small $breite ;
      
$image_small imagecreatetruecolor$bildbreite_small $hoehe_small ) ;

      
// neue Bildnamen
      
$bild_s split("[.]",$dateiname2);
      
$dateiname2_norm $bild_s[0].'_norm.'.$bild_s[1] ;
      
$dateiname2_small $bild_s[0].'_small.'.$bild_s[1] ;

      
// Normbild erstellen
      
switch ($typ) {
        case 
2:
          
$image imagecreatefromjpeg$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
          break;
        case 
3:
          
$image imagecreatefrompng$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
          break;
      }
      
imagecopyresampled($image_norm$image0000$bildbreite_norm$hoehe_norm$breite$hoehe);

      switch (
$typ) {
        case 
2:
          
imagejpeg($image_norm$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm 100 );
          break;
        case 
3:
          
imagepng($image_norm$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm );
          break;
      }

      
// Smallbild erstellen
      
switch ($typ) {
        case 
2:
          
$image imagecreatefromjpeg$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
          break;
        case 
3:
          
$image imagecreatefrompng$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
          break;
      }
      
imagecopyresampled($image_small$image0000$bildbreite_small$hoehe_small$breite$hoehe);

      switch (
$typ) {
        case 
2:
          
imagejpeg($image_small$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
          break;
        case 
3:
          
imagepng($image_small$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
          break;
      }

      
// Ursprüngliches Bild löschen
      
unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ; // zur Probe auskommentieren!

      // DB eintragen
      
$query "UPDATE bildup
      SET "
.$bildnummer." = '".$dateiname2."', verfall = ".$verfall."
      WHERE id_bild = "
.$id_bild." " 
      
mysql_query($query$conn);

      
$fehlermeldung '<br /><br />Dein Foto <strong>'.$dateiname2.'</strong>
      wurde erfolgreich abgeschickt!<br /><br />' 
;
    }
  }
  else {
    
$fehlermeldung '<span class="rot"><br /><br />
    Es werden nur Dateien von folgendem Typ zum Upload akzeptiert:<br /><br />
    <strong>jpeg, jpg, jpe, png</strong><br /><br />
    Dein Datei-Typ: '
.$dateitype.'<br /><br /></span>';
  }

  
// auf NULL setzen ---------------------------
  
$submit "" $dateityp "" $dateiname "" $dateiname2 "" ;
  
$dateiname2_small "" ;
  
$hoehe "" $breite "" ;
}

// aus DB zur Anzeige ---------------------------------------------------------

$query " SELECT *
FROM bildup
WHERE id_bild = '"
.$selection."' " ;
$result mysql_query($query$conn);
$row mysql_fetch_array($result);

$bild_1 $row['bild_1'] ;
if (
$bild_1 != '') {
  
$bild_1_s split("[.]",$bild_1);
  
$bild_1_norm $bild_1_s[0].'_norm.'.$bild_1_s[1];
  
$bild_1_small $bild_1_s[0].'_small.'.$bild_1_s[1];
  
$gross1_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_norm);
  
$gross1_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_small);
}
$bild_2 $row['bild_2'] ;
if (
$bild_2 != '') {
  
$bild_2_s split("[.]",$bild_2);
  
$bild_2_norm $bild_2_s[0].'_norm.'.$bild_2_s[1];
  
$bild_2_small $bild_2_s[0].'_small.'.$bild_2_s[1];
  
$gross2_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_norm);
  
$gross2_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_small);
}
$bild_3 $row['bild_3'] ;
if (
$bild_3 != '') {
  
$bild_3_s split("[.]",$bild_3);
  
$bild_3_norm $bild_3_s[0].'_norm.'.$bild_3_s[1];
  
$bild_3_small $bild_3_s[0].'_small.'.$bild_3_s[1];
  
$gross3_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_norm);
  
$gross3_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_small);
}

// welche Bilder werden als nächstes hochgeladen
if ( $bild_3 == "" ) { $bildnr "bild_3" $titeltext "Foto 3, Bildtitel 3" ; }
if ( 
$bild_2 == "" ) { $bildnr "bild_2" $titeltext "Foto 2, Bildtitel 2" ; }
if ( 
$bild_1 == "" ) { $bildnr "bild_1" $titeltext "Foto 1, Bildtitel 1" ; }
?>

<h2>Beispiel</h2>

<center>
<?php echo $fehlermeldung ?>
<table>
  <colgroup>
    <col width="50" />  
    <col width="200" />
    <col />             
  </colgroup>
  <tr>
    <td>
      <strong>Foto 1</strong><br />
<?php
if ( $bild_1 != "" ) {
  echo 
'
      <div>
      <img src="/'
.$bildlink.'/'.$bild_1_small.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_small.'" height="'.$gross1_small[1].'" />
      </div>
    </td>
    <td>
      Bildtitel 1<div>
      <img src="/'
.$bildlink.'/'.$bild_1_norm.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_norm.'" height="'.$gross1_norm[1].'" />
      </div>
    </td>
    <td class="rechts">
      '
.$bild_1.'<br /><br />
      <form action ="'
.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
        <input type="hidden" name="bild_db" value="bild_1" />
        <input type="hidden" name="bild_bild" value="'
.$bild_1.'" />
        <input class="norm" type="submit" name="delete" value="Löschen" />
      </form>
  '
;
}
else {
  echo 
'
    </td>
    <td>Bildtitel 1</td>
    <td class="rechts">Kein Bild!
  ' 
;
}
?>
    </td>
  </tr>
  <tr><td colspan="3"><hr /></td></tr>
  <tr>
    <td>
      <strong>Foto 2</strong><br />
<?php
if ( $bild_2 != "" ) {
  echo 
'
      <div>
      <img src="/'
.$bildlink.'/'.$bild_2_small.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_small.'" height="'.$gross2_small[1].'" />
      </div>
    </td>
    <td>
      Bildtitel 2<div>
      <img src="/'
.$bildlink.'/'.$bild_2_norm.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_norm.'" height="'.$gross2_norm[1].'" />
      </div>
    </td>
    <td class="rechts">
      '
.$bild_2.'<br /><br />
      <form action ="'
.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
        <input type="hidden" name="bild_db" value="bild_2" />
        <input type="hidden" name="bild_bild" value="'
.$bild_2.'" />
        <input class="norm" type="submit" name="delete" value="Löschen" />
      </form>
  '
;
}
else {
  echo 
'
    </td>
    <td>Bildtitel 2</td>
    <td class="rechts">Kein Bild!
  ' 
;
}
?>
    </td>
  </tr>
  <tr><td colspan="3"><hr /></td></tr>
  <tr>
    <td>
      <strong>Foto 3</strong><br />
<?php
if ( $bild_3 != "" ) {
  echo 
'
      <div>
      <img src="/'
.$bildlink.'/'.$bild_3_small.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_small.'" height="'.$gross3_small[1].'" />
      </div>
    </td>
    <td>
      Bildtitel 3<div>
      <img src="/'
.$bildlink.'/'.$bild_3_norm.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_norm.'" height="'.$gross3_norm[1].'" />
      </div>
    </td>
    <td class="rechts">
      '
.$bild_3.'<br /><br />
      <form action ="'
.htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
        <input type="hidden" name="bild_db" value="bild_3" />
        <input type="hidden" name="bild_bild" value="'
.$bild_3.'" />
        <input class="norm" type="submit" name="delete" value="Löschen" />
      </form>
  '
;
}
else {
  echo 
'
    </td>
    <td>Bildtitel 3</td>
    <td class="rechts">Kein Bild!
  ' 
;
}
?>
    </td>
  </tr>
</table>
</center>

<?php
// Löschzeitpunkt festlegen, hier nicht verwendet!
$verfall time() + 3600 // jetzt plus 60 Min.

// Formular zum Hochladen -----------------------------------------------------
if ( $bild_1 == "" || $bild_2 == "" || $bild_3 == "" ) {
  echo 
'
<form method="post" action="'
.htmlspecialchars($_SERVER['PHP_SELF']).'" enctype="multipart/form-data" name="meldung">
<table>
  <tr>
    <td>
      Es wird hochgeladen: <strong>'
.$titeltext.'<br />
      Dateiname:</strong>
      <input type="file" name="datei" size="80" />
    </td>
  </tr>
  <tr>
    <td>
      <input type="hidden" name="id_bild" value="'
.$selection.'" />
      <input type="hidden" name="verfall" value="'
.$verfall.'" />
      <input type="hidden" name="bildnummer" value="'
.$bildnr.'" />
      <input class="norm" type="submit" value="hochladen" name="submit" />
    </td>
  </tr>
</table>
</form>
  '
;
}
else {
  echo 
'<center><div class="rot">Es können keine weiteren Bilder
  hochgeladen werden.</div></center>' 
;
}
?>

</body>
</html>
Die Datei inc.php
PHP-Code:
<?php
# Variablen -------------
$liveserver "xxx.de"# Adresse des Liveservers ohne "www"
# MySQL Zugang ----------
$user   "xxxx";  # Username für die MySQL-DB
$pass   "xxxx";  # Kennwort für die MySQL-DB
$server "localhost"# Adresse/IP/Name des MySQL-Server
$dbase  "xxxx";  # Name der standardmaessig verwendeten Datenbank

$conn = @mysql_connect($server$user$pass);

if(
$conn) {
  
mysql_select_db($dbase$conn);
}
else {
  echo 
'
  <center><span class="rot">
  <strong>Eine Verbindung zur Datenbank konnte nicht hergestellt werden.<br />
  Die Seite wird dadurch nicht richtig angezeigt!</strong>
  </span></center>
  '
;
  
error_log ('Fehler beim Verbindungsaufbau zu MySQL'1'xx@xx.xx');
}
?>
Die Tabelle wurde in der DB wurde erstellt und auch die richtigen Zugangsdaten in der inc.php eingetragen.

Bei einem Bildupload werden zwar die zwei Bilddateien auf dem Server erstellt und die Originaldatei gelöscht, es findet sich jedoch kein Eintrag in der DB.
Auf der Seite werden die Bilder dann auch nicht angezeigt.

Hoffe, dass mir jemand weiterhelfen kann!!!

Danke!
SoulReaver ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem Mit Script, Variable wird nicht übernommen Moe PHP Tipps 2008 17 01.10.2008 16:12
pdo_odbc und script Problem Komandar PHP Tipps 2008 0 25.09.2008 14:53
[Erledigt] Statistik Script Referrer Problem 7Style PHP Tipps 2008 28 01.07.2008 15:14
Problem mit php script Jelko PHP Tipps 2008 2 19.08.2007 23:28
Problem bei Dateidownload via PHP Script niffi PHP-Fortgeschrittene 7 01.06.2007 19:39
Problem mit einem Script wo ich ned weiterkomme MatthiasNI PHP Tipps 2006 3 14.10.2006 17:35
Problem mit Bildupload Charly Shop Sui PHP Tipps 2006 2 14.07.2006 12:30
Problem mit Bildupload 2wuck PHP Tipps 2006 2 03.07.2006 07:05
Login script Problem Marian Datenbanken 8 30.03.2006 20:16
mal funktionierts, mal nicht - großes Problem mit PHP Script nicobischof PHP Tipps 2005-2 5 01.10.2005 16:13
Problem mit Tracker script b++ PHP Tipps 2005-2 1 14.09.2005 01:54
kleines Problem mit Script renzo PHP Tipps 2005-2 7 16.06.2005 09:11
Insert Script Problem PHP Tipps 2005 11 08.04.2005 20:53
Problem bei Bildupload PHP Tipps 2004-2 4 26.12.2004 00:04
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bildupload script, http://www.php.de/php-einsteiger/50399-problem-mit-bildupload-script.html, einfaches bild upload script, bilder upload script download, script für bildupload, einfaches bilder upload script, download upload bilder upload script, bildupload php, bilduploadscript php, script bild upload, bildupload script php fehler, einfaches foto upload script, bild upload script, bildupload script download, einfaches bilderupload script, bild upload script datenbank, einfaches script upload dateien, bilder upload script php, script bildupload, image upload script

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum