1。建立好数据库CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB )2.代码 <html>
<head>
<title>Uploading...</title>
</head>
<body>
<h1>Uploading file...</h1>
<?php
require('mysql.php');
if ($_FILES['userfile']['error'] > 0)
{
echo 'Problem: ';
switch ($_FILES['userfile']['error'])
{
case 1: echo 'File exceeded upload_max_filesize'; break;
case 2: echo 'File exceeded max_file_size'; break;
case 3: echo 'File only partially uploaded'; break;
case 4: echo 'No file uploaded'; break;
}
exit;
} $upfile = 'uploads/'.$_FILES['userfile']['name']; if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
echo 'Problem: Could not move file to destination directory';
exit;
}
}
else
{
echo 'Problem: Possible file upload attack. Filename: ';
echo $_FILES['userfile']['name'];
exit;
}
echo 'File uploaded successfully<br><br>'; // reformat the file contents
$fp = fopen($upfile, 'r');
$contents = fread ($fp, filesize ($upfile));
fclose ($fp);
$query="insert into images values(null,'$contents')";
$result=mysql_query($query)?>
</body>
</html>
文件可以上传,也到了指定的目录uploads,但是无法将图片插入数据库,用select * from images; 查询始终为空,求解
<head>
<title>Uploading...</title>
</head>
<body>
<h1>Uploading file...</h1>
<?php
require('mysql.php');
if ($_FILES['userfile']['error'] > 0)
{
echo 'Problem: ';
switch ($_FILES['userfile']['error'])
{
case 1: echo 'File exceeded upload_max_filesize'; break;
case 2: echo 'File exceeded max_file_size'; break;
case 3: echo 'File only partially uploaded'; break;
case 4: echo 'No file uploaded'; break;
}
exit;
} $upfile = 'uploads/'.$_FILES['userfile']['name']; if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
echo 'Problem: Could not move file to destination directory';
exit;
}
}
else
{
echo 'Problem: Possible file upload attack. Filename: ';
echo $_FILES['userfile']['name'];
exit;
}
echo 'File uploaded successfully<br><br>'; // reformat the file contents
$fp = fopen($upfile, 'r');
$contents = fread ($fp, filesize ($upfile));
fclose ($fp);
$query="insert into images values(null,'$contents')";
$result=mysql_query($query)?>
</body>
</html>
文件可以上传,也到了指定的目录uploads,但是无法将图片插入数据库,用select * from images; 查询始终为空,求解
这里改以下
$contents = addslashes(fread ($fp, filesize ($upfile)));
就可以了
你图片里可能是存在了特殊字符
还有建议把入库的sql显示出来直接在数据库里查询,利于发现错误
换成 $fp = fopen($upfile, 'rb ');
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\c.php on line 49Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\c.php on line 49
no