Nach Upload Eintrag in phpmyadmin

michaelsoft

Grünschnabel
Ich habe folgendes Script:

<?
require("1.php");
?>

<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=637>
<TR>
<TD>
<IMG SRC="cover.gif">
<?
#error_reporting(E_ALL);

if($_FILES['cover_name']['size']>0)
{
chmod($_FILES['cover_name']['tmp_name'],0666);
copy($_FILES['cover_name']['tmp_name'],"/var/www/web37146/html/xboxfans.de/cover/".$_FILES['cover_name']['name']);
}
?>

<form ACTION="cover1.php" method=post enctype="multipart/form-data">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=200 valign=top>
<FONT FACE="Arial" SIZE="-1" COLOR="#FFFF66">Titel<BR><BR>
</TD>
<TD valign=top><SELECT NAME=game_id>

<?
$sql="select a.* FROM titel AS a LEFT JOIN cover AS b ON a.titel_id = b.titel_id WHERE b.titel_id IS NULL order by titel_bezeichnung ASC";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res))
{
echo "<OPTION value=$row[titel_id]>$row[titel_bezeichnung]";}?>
</SELECT>
</TD>
</TR>
<TR>
<TD WIDTH=200 valign=top>
<FONT FACE="Arial" SIZE="-1" COLOR="#FFFF66">Dateiname<BR><BR>
</TD>
<TD valign=top><input type=file name=cover_name><p>

</TD>
</TR>
</TABLE>
<input type=submit value=submit>
</form>

</TD>
</TR>
</TABLE>

<?
require("2.php");
?>

Es wird ein Bild hochgeladen zum ausgewählten Titel. Nach dem bestätigen wird das Bild hochgeladen und ein Eintrag in die Datenbank vorgenommen der wie folgt aussieht:

<?

$sqlst = "insert into cover (cover_id, titel_id, system_id, cover_name)
values ('','$game_id', '3','$cover_name')";
$query = mysql_query($sqlst);
if(!$query) {
print "Fehler!";
} else {
print "<FONT SIZE='-1' FACE='Tahoma'><FONT FACE='Arial' SIZE='-1' COLOR='#FFFF66'><BR><BR>Der Datensatz wurde eingetragen<BR><BR>";
}
?>

Leider trägt er in die Datenbank anstatt des Bild-NAmes z.B. blablabla.jpg einen ganzen Pfad ein. Wie kann ich es erreichen das er nur den Namen der ausgewählten Datei in die Datenbank einträgt?
 
Du kannst mit der Funktion explode() den Link in seine Einzelteile zerlegen (nimm einfach den "/" als Separator).
Und dann kannst Du mit der funktion count() die Länge des Arrays herausfinden und dann einfach den letzten herausfinden.
Bsp:
PHP:
<?php
$pfad = "a/b/c/d/e/bla.jpg";
$array = explode("/", $pfad);
echo $array[count($array) - 1];
?>

redlama
 
Zurück