使用php上传图片
我使用此代码上传图片。我从*得到了这段代码。我仍然无法上传图片。我在表格设置中更改了数据库连接设置2.我创建了表格,但我不确定我创建的表格属性是否正确。使用php上传图片
<html>
<head><title>Store Some Binary File to a DB</title></head>
<body>
<?php
if ($submit) {
$conn = mysql_connect("localhost", "your_username", "your_password")
or die ("Error connecting to database.");
mysql_select_db("your_database", $conn)
or die ("error connecting to database.");
$data = addslashes(file_get_contents($_FILES['form_data']['tmp_name'])
$result = mysql_query ("INSERT INTO your_table ".
"(description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data','$form_data_name',".
"'$form_data_size','$form_data_type')",
$conn);
$id = mysql_insert_id();
print "<p>This file has the following Database ID: <b>$id</b>";
mysql_close();
} else {
?>
<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
</body>
</html>
此外,帮助我从数据库中检索图像并在页面上显示它。
你认为thiis现在能工作吗?
见http://www.php.net/manual/en/features.file-upload.php
而不是使用$ form_data作为上传文件的文件名,尝试$_FILES['form_data']['tmp_name']
你也可以用更换相当笨拙
fread(fopen($form_data, "r"), filesize($form_data))
file_get_contents($_FILES['form_data']['tmp_name'])
我不会建议存储你的bi nary图像文件直接在数据库中。而应将其存储在磁盘上,并将文件指针(文件目录+文件名)存储在数据库中。
如何使用PHP将数据保存在数据库中请帮助我。 – 2008-12-12 03:03:46
在文件系统上存储图像的问题归结为数据库复制。您还需要文件系统复制,有时可能比数据库复制更难,特别是当某些服务器可能是远程的时候。
没有设置任何$ form_变量(除非我不能看到代码或者'危险地'注册全局变量)。你也可以在任何接受REQUEST值的查询上添加addslashes(或者mysql_real_escape_string),否则你的脚本很容易被SQL注入。
您希望:
$form_description = isset($_POST['form_description']) ? $_POST['form_description'] : false;
其他变量,甚至没有张贴。你知道任何HTML和PHP吗?这很容易解决,但我不写这个给你!
我们需要的是一些反馈脚本产生什么..你可以得到图像回做:
$result = mysql_query ("SELECT `bin_data` FROM `your_table` WHERE `id` = ".$id, $conn);
再比如说做(从文件阵列中确定的相关类型替换的内容类型):
$result_data = mysql_fetch_array($result, MYSQL_ASSOC);
header('Content-Type: image/jpg');
echo $result_data['bin_data'];
exit;
您需要对该脚本做更多的工作,并且需要知道HTML,PHP和MySQL。
请修复拼写并提供脚本的其余部分。 – 2008-12-11 16:25:01