Upload mit Datenbankeintrag verknüpfen

Hi, noch ne andere Frage: Ich würde auch gern den Pfad für das erstellt Thumbnail in die Datenbank abspeichern. Leider schreibt er aber nur den "leeren" Pfad ohne Dateiname in die Datenbank (http://www.blabla.com/admin/artists/content/thumbs/). Ich habe die Abspeicherung der Daten ganz unten auf der finish.php wie folgt:

PHP:
<?php $connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Verbindung zum Server nicht hergestellt!<br>");   
$selectDB = mysql_select_db($dbtable) or die("Konnte die Datenbank <b>$artists</b> nicht auswählen");   

$pfad = $_SERVER['HTTP_HOST'].$path.$filename; 
$thumb = $_SERVER['HTTP_HOST'].$bilder_url_thumbnail;
$eintrag = "INSERT INTO $artists (nachname,vorname,swf,text,url,email,playlist,pfad,thumb) VALUES ('$nachname', '$vorname', '$swf', '$text',  '$url', '$email', '$playlist','$pfad','$thumb')";


$eintragen = mysql_query($eintrag);?>

Was ist daran falsch? Warum hängt er den Thumbnaildateinamen nicht an?

Danke für Tipps!
 
Steh in "$bilder_url_thumbnail" denn überhaupt was drinne?
Überprüf das mal mit var_dump($bilder_url_thumbnail);
 
Hi, sorry - hatte garnicht die Code gepostet, in der das Thumb generiert wird.

PHP:
<?
$page = isset($_GET['page']) ? $_GET['page'] : 0; 
$offset = 0;
$offset = $page * $length;
$verzeichnis_daten = array();
$fp = opendir ($img_path_up);
while (false !== ($file = readdir($fp))) {
	if (filetype($img_path_up.$file)!="dir"){
        $verzeichnis_daten[] = $file;
    }
}
closedir($fp);
asort($verzeichnis_daten);
for ($i = $offset; $i < $offset+$length AND $i < count($verzeichnis_daten); $i++) {
	echo '<tr>';
	$type_check = explode(".",$verzeichnis_daten[$i]);
	if($thumbnail_create==1 AND ($type_check[count($type_check)-1]=='jpg' OR $type_check[count($type_check)-1]=='gif' OR $type_check[count($type_check)-1]=='png' OR $type_check[count($type_check)-1]=='jpeg')){
		$typ=thumbnail($verzeichnis_daten[$i], $img_path_up , $bilder_path_thumbnail, $thumbnail_neuebreite );
		if($typ==1 OR $typ==2 OR $typ==3) echo '   <td><a target="_blank" href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"><img border="0" src="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i].'"></a></td>'; 
		else echo '	<td><a href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"  target="_blank">'.$verzeichnis_daten[$i].'</a></td>';
	} else {
		echo '	<td><a href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"  target="_blank">'.$verzeichnis_daten[$i].'</a></td>';
	}	
	echo '	<td>'.fs_convert($img_path_up.$verzeichnis_daten[$i],2).'</td>';
	echo '	<td>'.date("d.m.Y H:i", last_change($img_path_up.$verzeichnis_daten[$i])).'</td>';
	echo '	<td><a href="'.htmlspecialchars($_SERVER["PHP_SELF"]).'?file='.$verzeichnis_daten[$i].'&tn=TN'.$verzeichnis_daten[$i].'&loechen=1" >Löschen</td>';
	echo '</tr>';
}
if(count($verzeichnis_daten)==0){
	echo '<tr bgcolor="Gainsboro">';
	echo '	<td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
	echo '</tr>';
}
echo '</table>';

if ($page > 0 AND count($verzeichnis_daten)!=0) {
    echo '<a href="'.htmlspecialchars($_SERVER['PHP_SELF']).'?page='.($page-1).'">&laquo;</a> ';
}
if (( count($verzeichnis_daten)/$length ) > ($page+1) AND count($verzeichnis_daten)!=0 ) {
    echo '<a href="'.htmlspecialchars($_SERVER['PHP_SELF']).'?page='.($page+1).'">&raquo;</a> ';
}
?>

Also die Thumbs werden eben in der einer Tabelle aufgelistet. Würde aber auch ganz gerne den Pfad in einer Datenbank haben, da ich die Thumbnails später auch noch auf einer anderen Seite anzeigen würde.
 
Dann musst du vermutlich das hier in die Variable Temp schreiben:
PHP:
$temp[] = $bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i];
In dem Array stehen dann die Thumbs.

Zu deinem swf-Problem, du kannst beim Upload auf den Typ prüfen, wenn dann da swf rauskommt, dann speicherst du in der Datenbank dass es ein swf ist und gibst es später dementsprechend aus.
 
Hi, jo genau so hab ich das auch mit dem SWF-File gemacht. Hab einfach ein zweites Uploadfeld hinzugefügt. Klappt soweit auch alles gut! Probleme habe ich aber nachher bei der Darstellung. Das Skript soll, falls ein SWF vorhanden ist, das SWF darstellen. Hab das bis jetzt so gelöst:

PHP:
<?php include("../../config/config.php");
			
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbtable");
$result = mysql_query("SELECT * FROM $artists WHERE id = ".$_GET["id"]."");
 echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\">";
while($row = mysql_fetch_array($result))
{


echo"  <tr>";
echo"     <td width=\"36%\" class=\"artist_header\">".$row['artistname']."</td>";
echo"     <td width=\"0%\">&nbsp;</td>";
echo"     <td width=\"64%\">&nbsp;</td>";
echo"   </tr>";
echo"   <tr>";
echo"     <td><img src=\"http://".$row['pfad']."\" alt=\"Contenpicture\" width=\"366\" height=\"206\" /> HIER SOLL EBEN UNTERSCHIEDEN WERDEN, OB EIN SWF VORHANDEN IST ODER EIN JPG.. WENN BEIDES DANN SOLL DAS SWF ANGEZEIGT WERDEN</td>";
echo"     <td>&nbsp;</td>";
echo"     <td valign=\"top\"><p><strong class=\"header_artists\">Films on the playlist</strong><br />";
echo"             <span class=\"filmmarkierer\">".$row['film1']."</span><br />";
echo" </td>";
echo"   </tr>";
echo"   <tr>";
echo"     <td colspan=\"3\"><img src=\"../images/spacer.gif\" alt=\"1\" width=\"1\" height=\"6\" /></td>";
echo"   </tr>";
echo"   <tr>";
echo"     <td><div>".$row['text']."<br><br>Website: <a href=\"".$row['url']."\">".$row['url']."</a></div></td>";
echo"     <td>&nbsp;</td>";
echo"     <td>&nbsp;</td>";
echo"   </tr>";


}
echo "</table>";

			
?>

Hab ich hier mehrere Baustellen nebeneinander :D Und lach bitte nicht über meinen miesen Stil :)

Zu deinem Vorschlag zum Thumbnail. Wo schreib ich deinen Code hin? Versteh den nicht so ganz?

Gruß aus Köln!
 
Zuletzt bearbeitet:
PHP:
 if($thumbnail_create==1 AND ($type_check[count($type_check)-1]=='jpg' OR $type_check[count($type_check)-1]=='gif' OR $type_check[count($type_check)-1]=='png' OR $type_check[count($type_check)-1]=='jpeg')){ 
        $typ=thumbnail($verzeichnis_daten[$i], $img_path_up , $bilder_path_thumbnail, $thumbnail_neuebreite ); 
        if($typ==1 OR $typ==2 OR $typ==3) echo '   <td><a target="_blank" href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"><img border="0" src="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i].'"></a></td>';
Hier gibst du doch das Thumb aus oder?
Wenn das so ist, dann fügst du darunter den Code ein, um in das Array $thumb die adresser der thumbnails zu haben.
also:
PHP:
 if($thumbnail_create==1 AND ($type_check[count($type_check)-1]=='jpg' OR $type_check[count($type_check)-1]=='gif' OR $type_check[count($type_check)-1]=='png' OR $type_check[count($type_check)-1]=='jpeg')){ 
        $typ=thumbnail($verzeichnis_daten[$i], $img_path_up , $bilder_path_thumbnail, $thumbnail_neuebreite ); 
        if($typ==1 OR $typ==2 OR $typ==3) echo '   <td><a target="_blank" href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"><img border="0" src="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i].'"></a></td>';  
$thumbnails[$i] = $bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i];

So hast du die Thumbs in dem Array $thumbnails nach der Zählvariablen $i sortiert.
 
Hi, ja genau - dort werden die Thumbnails generiert. Es wird aber ein Parse error ausgegeben, wenn ich deine Zeile dort einfüge.. Beziehungsweise in der Zeile danach..
 
Äh.. ok.. der Pfad wird doch oben schon angegeben, oder nicht? Wie muss ich dann $thumbnail definieren? Sorry für die vielen blöden Fragen.. probiere mich irgendwie dadurch zu schlagen!
 
Nein, $thumbnails ist das Array, in dem wir die Adresse der Thumbnails speichern, da du ja anscheinend mehrere hast, dem Quellcode nach.
Da $thumbnails ein neues Array ist, müssen wir das oben natürlich auch mit
$thumbnails = new array() definieren.
 

Neue Beiträge

Zurück