试图做一个简单的脚本来评论新闻文章,它的工作文本,但我希望用户能够提交图像用作图标或头像。这是表单字段:php表单 - 需要上传图像
<label>Add your avatar<span>*</span></label>
<input name="image" type="file"/>
和形式引导到该脚本:
<?php
$formats = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ($_FILES["file"]["size"] < 90000 && in_array($extension, $formats)) {
if ($_FILES["file"]["error"] > 0) {
// something went wrong, display the error using; $_FILES["file"]["error"];
} else {
if (!file_exists("avatars/" . $_FILES["file"]["name"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], "avatars/" . $_FILES["file"]["name"]);
}
}
}
$tempLink = "http://www.website.com/avatars/" . $_FILES["file"]["name"];
$page_path = $_POST['page_path'];
$con=mysqli_connect
("","","","");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO comments (name, comment, email, storyid, entry_date)
VALUES
('$_POST[name]','$_POST[comment]','$_POST[email]','$_POST[storyid]',now())";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header('Location: http://www.website.com/' . $page_path);
mysqli_close($con);
?>
脚本运行到completiong但图像不会被保存到:
WWW。 website.com/avatars/
所有其他表单数据插入到sql中就好了。唯一的问题是形象。目标目录是chmode 0777.
您发布的代码未尝试处理图像输入。你说你尝试过一些不起作用的东西。显示你已经尝试了什么,并指出错误是什么。 –
你是否看过PHP文档中关于如何处理上传的问题,因为我没有看到甚至在这里处理上传文件的尝试?您还有一些其他问题 - SQL注入漏洞;在将记录添加到数据库之前,您不验证任何数据;例如,您不会验证文件是否已上传,是否属于正确的类型,并且在插入到数据库之前已成功移到新目录中。 –
您是否听说过小鲍比表? http://xkcd.com/327/ – RyanS