我需要你的帮助...我想在服务器上复制/上传图像并在数据库中保存目录...问题是图像是空的=( 我正在使用:
问题是它正在创建文件但是为空....它可能是WampServer故障吗?
CODE:
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input name="image" id="image" multiple="true" type="file" />
<input name="name" id="name" type="text" maxlength="50" value="" placeholder="Enter Image Name" class="text-field"/>
if(isset($_POST['name']) && isset($_POST['image']))
{
$name = $_POST['name'];
$img = $_POST['image'];
$file_url = $img;
$fp = fopen($file_url, 'rb');
$content = fread($fp, filesize($file_url));
$fp = fopen('../Images/UploadedImages/'.$img, 'wb');
$image='../Images/UploadedImages/'.$img;
$result=mysql_query("insert into Images(Name,Directory,Register_Day)
values ('$name','$image',now())");
if (!$result) {
die("Failed to load");}
else{
fputs($fp, $content);
fclose($fp);
}
答案 0 :(得分:1)
卸载图片并不是那样的,你必须这样做:
$img = $_FILES['image']['tmp_name'];
另请注意,您不希望将图像保存到数据库中,您(可能)希望将图像保存到服务器,但只将文件位置保存到数据库中。
答案 1 :(得分:0)
您无法使用fopen
上传图片。试试下面的代码。
您将在$_FILES
数组中获取图片详细信息,而不是$_POST
。
$tmp_name = $_FILES['image']['tmp_name'];
$name = $_FILES['image']["name"];
$uploads_dir = '../Images/UploadedImages';
move_uploaded_file($tmp_name, "$uploads_dir/$name");
在上面的代码中,$uploads_dir/$name
将是您可以存储在db中的图像路径。
并确保您的<form>
代码设置了enctype="multipart/form-data"
属性。