Hi, die Situation ist wie folgt:
MS SQL Server
IIS Webserver
PHP 4.x
Alles läuft paletti, manche Gif´s können in die DB geschrieben werden, alles andere gibt nur Datenbank Fehlermeldungen.
Hier das Script:
und jetzt die Ausgabe mit den Fehlermeldungen darunter:
Hat da wer nen Rat für mich? oder ein eigenes (funktionierendes) upload Script?
(und bitte keine Antworten von wegen: Bilder nicht in die DB laden. Das das langsamer ist ist MIR klar, aber die Leutz wollen es halt so haben)
thx, masta
MS SQL Server
IIS Webserver
PHP 4.x
Alles läuft paletti, manche Gif´s können in die DB geschrieben werden, alles andere gibt nur Datenbank Fehlermeldungen.
Hier das Script:
PHP-Code:
<?
<html>
<head>
<title>Datei-Upload</title>
<link rel="stylesheet" type="text/css" href="tecdoc.css">
<script language="JavaScript">
<!--
function setz(wert) #Funktion um den Namen zu übergeben (eigentlich brauche ich die nicht mehr..)
{
document.upl.test.value=wert;
return false;
}
//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#E0E0E0">
<font face="Arial">
<form name="upl" action="<? echo $_SERVER['PHP_SELF']; ?>" # das Formular für die Dateiauswahl
method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="50000">
<table>
<tr>
<td style='border:1px solid #CCCCCC' colspan="3">
<input class="auswahl" type="file" name="datneu" onBlur="javascript:setz(this.value)">
<input type="hidden" name="test" value="">
</td>
</tr>
<tr>
<td style='border:1px solid #CCCCCC'>
<input class="auswahl" type="Submit" name="sent" value="Hochladen">
</td>
<td style='border:1px solid #CCCCCC' align="right">
<input class="auswahl" type="Submit" name="showit" value="Dateien anzeigen">
</td>
</tr>
</table>
</form>
<?php
echo "<form method='post'>";
echo "<table width='245' cellpadding='0' cellspacing='1' border='0'>";
require("connect2.php");
if(isset($_POST['sent']))# wenn Datei geendet wurde
{
unset($showit);
unset($kill);
$fehler="";
$typ="";
$datei=$_POST['test']; &nb sp; # Name, Grösse, Pfad rausbekommen
$datei=str_replace("\\\\","\\",$datei);
$groesse=$_FILES['datneu']['size'];
echo "<u>Details:</u><br>";
echo "$datei<br>";
$groesse2=round($groesse/1024,2);
echo "$groesse2 K<br>";
$dateiname=$_FILES['datneu']['name'];
$endung=substr(strrchr($dateiname,"."),1);
if($dateiname=="")
{
$endung="";
$fehler="Keine Datei ausgewählt!";
}
switch($endung) &nbs p; #Überprüfung des Dateityps
{
case "jpeg": case "jpg": case "jpe":
$typ="image/jpeg"; break;
case "gif":
$typ="image/gif"; break;
case "bmp":
$typ="image/bmp"; break;
case "png":
$typ="image/png"; break;
case "tif": case "tiff":
$typ="image/tiff"; break;
default:
if($endung!="")
{
$fehler="Dateityp ist nicht zulässig!";
}
}
if($groesse2>200) &nbs p; #wenn datei zu gross
{
$fehler.="Datei ist zu groß!";
}
if(!$fehler) # wenn kein Fehler aufgetreten ist, datei hochladen
{
$dat=fopen($HTTP_POST_FILES['datneu']['tmp_name'], "rb");
$data=fread($dat, $HTTP_POST_FILES['datneu']['size']);
$data=addslashes($data);
$sql_ins="INSERT INTO $tabelle (objectid,blobid,blobsize,lastmodified,name,data) values (100001,100001,$groesse,'14.01.2003 12:53:23','".$HTTP_POST_FILES['datneu']['name']."','$data')";
if(!mssql_query($sql_ins,$verbindung)) #INSERT der DB (Zeile 113)
{
$fehler="Upload gescheitert!";
}
else
{
$text="<font color='#00E090' size='2'><b>$dateiname wurde in die Datenbank aufgenommen</b></font>";
echo "<tr><td bgcolor='#F0F0F0' align='center'>$text</td></tr>";
}
}
else
{
echo "<tr><td align='center' bgcolor='#F0F0F0'><font color='#DF0000' size='2'><b>$fehler</b></font></td></tr>"< /font>;
}
}
#*********ab hier ist es eigentlich unwichtig********
if(isset($_POST['showit'])) < font color="#FF8000">#falls man "Dateien anzeigen" angeklickt hat
{
unset($sent);
unset($kill);
$sql_sel="SELECT blobid,name,blobsize FROM $tabelle"; #Datenbank nach den Dateien ausfragen
$result=mssql_query($sql_sel,$verbindung);
if(mssql_num_rows($result)>0) #dateien auflisten
{
echo "<tr><td style='border:1px solid #CCCCCC' bgcolor='#F0F0F0' colspan='3'><font size='1'>Folgende Dateien sind in der Datenbank vorhanden:</font></td></tr>";
echo "<tr><td><font size='1'><b>Name</b></font></td><td align='right'><font size='1'><b>Größe</b></font></td><td> < /td></tr>";
for($i=0;$i<mssql_num_rows($result);$i++)
{
if($i % 2 == 0)
{
$farbe="#F0F0F0";
}
if($i % 2 == 1)
{
$farbe="#E0E0E0";
}
$name=mssql_result($result,$i,'name');
$laenge=strlen($name);
if($laenge>15)
{
$kurz=substr($name,0,15)."...";
}
else
{
$kurz=$name;
}
echo "<tr bgcolor='".$farbe."'><td style='border:1px solid #CCCCCC'><a href='show2.php?ID=".mssql_result($result,$i,'blobid')."' target='_blank'><font size='1' color='#0060FF'><tt>".$kurz."</tt></font></a></td><td style='border:1px solid #CCCCCC' align='right'><font size='1'><nobr> ".mssql_result($result,$i,'blobsize')." KB</nobr></font></td><td style='border:1px solid #CCCCCC' align='right'><input class='auswahl' type='Checkbox' name='".mssql_result($result,$i,'blobid')."'></td></tr>";
}
}
else
{
echo "<tr><td bgcolor='#F0F0F0' align='center'><font color='#DF0000' size='2'><b>Keine Dateien vorhanden</b></font>";
}
}
if(isset($_POST['kill'])) #Dateien löschen
{
unset($sent);
unset($showit);
$d=0;
if(count($HTTP_POST_VARS)>1)
{
foreach($HTTP_POST_VARS as $schluessel => $wert)
{
if($schluessel!="kill")
{
$sqldel="DELETE FROM $tabelle where blobid = '".$schluessel."'";
@mssql_query($sqldel,$verbindung);
$d++;
}
}
echo "<tr><td bgcolor='#F0F0F0' align='center'><font color='#DF0000' size='2'><b>$d Dateien gelöscht</b></font></td></tr>";
}
else
{
echo "<tr><td bgcolor='#F0F0F0' align='center'><font size='2' color='#DF0000'><b>Keine Dateien zum Löschen ausgewählt!</b></font></td></tr>";
}
}
echo "</table>";
echo "<table><tr><td><br><input type='Submit' name='kill' value='Löschen'></td></tr></table>";
echo "</form>";
?>
</font>
</body>
</html>
?>
Code:
Details: C:TempBeispiel.jpg 9.66 K Warning: mssql_query() [function.mssql-query]: message: Zeile 9: Falsche Syntax in der Nähe von '{'. (severity 15) in c:inetpubwwwrootHLhtmlupload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Bezeichner (beginnend mit 'ê}›œ¨H_2U׌kœÝÍ¥s[ ½Üÿ\0ZqßîGê%_L“u/ÔÔ{Ô3_C{‚Þ\'1õÄ–< £õD…XýÐÅc:\inetpub\wwwroot\HL\html\upload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Bezeichner (beginnend mit '-¼÷{˜màÈÔô§¶wŒñ\\gò‚ÓÔ½WØœ+ [ÿ\0W¾)*Xüä»S,È¢¥ö¼nÚã-XkV†›}H {§˜·Åñ—\"\'§u|Ù×y*©Kçœê\\h:‚¶& #8240;¬··¶¤ô•ÇûÏ;ýáÙX í¶åË5Ë’éÈ’') ist zu lang. Die Maximallänge beträgt 128. (severity 15) in c:\inetpub\wwwroot\HL\html\upload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Bezeichner (beginnend mit '`ð›8¬eT·ÉJ5ø¤I² s‚Ò³RËc:\inetpub\wwwroot\HL\html\upload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Bezeichner (beginnend mit '>áX‹»†Œa>ÕXl_^j&õ…åò ÛÎ2ÒA-AÜ…hƒ† Õ¥Êûjá\"w¶ÆQ.äGÅÙ3¶öæàÂæ±3 Äý_Ü<Ñ8&VÂ|2‚¼œÛ#¯r2·uê²öÿ\0xV¡-u$IÜ|V){; ƒhÛ”s AoNÊ=') ist zu lang. Die Maximallänge beträgt 128. (severity 15) in c:\inetpub\wwwroot\HL\html\upload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Bezeichner (beginnend mit 'ùN!z7/¸û›X¦\"…íñ~aƒ— ;ÌX‹æÜ05 ¬öóW[ͽÉnå~ð¨-dU[›±pǚīk)Œ0š& ;#353;UUßÄD®}( ¢ÆjÖÃj77ÄOÑTÖ éóW<=_6gr_¨´Iì¬ h|€³*¦êC.pÏ!Ú¬(0 x!') ist zu lang. Die Maximallänge beträgt 128. (severity 15) in c:inetpubwwwrootHLhtmlupload2.php on line 113 Warning: mssql_query() [function.mssql-query]: message: Öffnendes Anführungszeichen vor der Zeichenfolge ')'. (severity 15) in c:inetpubwwwrootHLhtmlupload2.php on line 113 Warning: mssql_query() [function.mssql-query]: Query failed in c:inetpubwwwrootHLhtmlupload2.php on line 113
Hat da wer nen Rat für mich? oder ein eigenes (funktionierendes) upload Script?
(und bitte keine Antworten von wegen: Bilder nicht in die DB laden. Das das langsamer ist ist MIR klar, aber die Leutz wollen es halt so haben)
thx, masta
Kommentar