Upload fra PC til MySql
Jeg er ved at lave et system i PHP, hvor i der indgår adressekartotek med tilhørende billeder. Det er meningen at jeg vil have billederne ind i en MySQL-database. Jeg har fundet noget kode, som ser fornuftigt ud men får allerede fejl ved fopen. Jeg har læst andre eksempler i eksperten om samme problem, men kan se at det er helt samme problem.Jeg forsøger blot at hente winlogo.gif. Der kommer allerede fejl ved fopen:
Warning: fopen() [function.fopen]: Unable to access C:\\WINDOWS\\Winlogo.gif in /home/web/web2734/test_imagedb.php on line 20
Warning: fopen(C:\\WINDOWS\\Winlogo.gif) [function.fopen]: failed to create stream: No such file or directory in /home/web/web2734/test_imagedb.php on line 20
Warning: fopen() [function.fopen]: Unable to access C:\\WINDOWS\\Winlogo.gif in /home/web/web2734/test_imagedb.php on line 32
Jeg har forsøgt at hante data med $_POST istedet for med $_REQUEST. Er der noget der ved hvad $_REQUEST betyder?
Her er koden:
//CREATE TABLE tblimage (
// imgid int(3) unsigned NOT NULL auto_increment,
// imgtype varchar(16) NOT NULL default '',
// imgdata mediumblob,
// PRIMARY KEY (imgid)
//) TYPE=MyISAM;
<body>
<?
if (!isset($_REQUEST["submit"])) {
?>
<form method="POST" action="<?= $_SERVER["PHP_SELF"] ?>" enctype="application/x-www-form-
urlencoded">
<table>
<tr><td>Type</td><td><select name="imgtype"><option value="image/gif">GIF</option><option
value="image/jpeg">JPEG</option></select></td></tr>
<tr><td>File</td><td><input type="file" name="imgfile"></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="upload"><input type="reset"></td></tr>
</table>
</form>
<?
//-- save image to db --
} else {
/*
the code below is a suggestion from California Strong...
*/
$hndl=fopen($_REQUEST["imgfile"],"r");
$isize=sizeof($_REQUEST["imgfile"]);
//$imgdata="";
//while(!feof($hndl)){
// $imgdata.=fread($hndl,$isize);
//};
/*
my code was...
*/
$hndl=fopen($_REQUEST["imgfile"],"r");
$imgdata=fread($hndl,filesize($_REQUEST["imgfile"]));
$imgdata=addslashes($imgdata);
$dbconn = @mysql_connect($dbserver,$dbuser,$dbpass) or exit("SERVER Unavailable");
@mysql_select_db($dbname,$dbconn) or exit("DB Unavailable");
$sql = "INSERT INTO tblimage VALUES(NULL,'". $_REQUEST["imgtype"] ."','". $imgdata ."')";
@mysql_query($sql,$dbconn) or exit("QUERY FAILED!");
mysql_close($dbconn);
fclose($hndl);
};
?>
</body>
------