PHP表单中含上传图片的问题,哪里不对

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP表单中含上传图片的问题,哪里不对相关的知识,希望对你有一定的参考价值。

php初学者,现在实现餐馆菜品添加管理功能,其中的上传图片问题让我困扰。我现在的思路是,在上传按钮上实现两个功能,一个是把图片保存到对应目录,并找到路径名,便于提交表单时赋值给图片url,更新数据库。

后台php业务处理:
public function do_add_new()

$new_name = $_POST['new_name'];
$new_price = $_POST['new_price'];
$image = $_POST['new_image'];
//这里的代码不知道怎么写
//***
$new_des = $_POST['new_des'];
$new_content = $_POST['new_content'];
$tb_dish = new AdvModel('tb_dish');
$add_data['dishname'] = $new_name;
$add_data['description'] = $new_des;
$add_data['image'] = $new_image;
$add_data['price'] = $new_price;
$add_data['content'] = $new_content;
$add_data['addtime'] = date('Y-m-d H:i:s',time());
if($tb_dish->add($add_data))

$this->ajaxReturn('','成功',1);

else

$this->ajaxReturn('','失败',0);


麻烦大侠们帮我指点指点,前台上传按钮的type应该改成“button”,然后通过js代码实现预先上传的功能吗?

参考技术A

你觉得这两个变量可以对应么

追问

这个不是重点,因为上面没有获取到,空值。有空的话帮我看看我改过的代码,谢谢

参考技术B

    获取图片使用的是$_FILES['new_images'],PHP获取上传图片使用的是$_FILES这个函数

    使用move_uploaded_file($_FILES['new_images']['tmp_name'],"你想要移动到的路径和保存之后的文件名称包含后缀名")这个函数将上传的图片移动到指定的目录

    楼主加油。

追问

现在var_dump抓到的信息是这样的:"status":1,"info":"\\u6210\\u529f","data":""我理解错了,应该不是最下面的成功,但是好像写入是提示成功的?不然做不到die这里的程序吧?那又为什么没有把文件移过去呢?

追答

你的move_upload_file方法使用错误,这个方法只能是本地移动,$image['tmp_name'],这里面保存的是上传的图片在服务器缓存中存在的临时图片。这个时候是已经上传到了服务器的。
距离:你可以再C盘建立一个文件夹test。即存在一个文件夹C:/test
然后move_upload_file($image['tmp_name'],"C:/test/123.jpg");这个时候他会将你上传的图片从服务器缓存区移动到C:/test/文件夹,并且命名为123.jpg

本回答被提问者和网友采纳

以上是关于PHP表单中含上传图片的问题,哪里不对的主要内容,如果未能解决你的问题,请参考以下文章

html 表单上传图片

上传图片时PHP表单处理错误

php后台商品添加,需要两个表单,一个用于提交上传图片,一个用于提交商品数据到数据库。

php 图片上传之利用form表单上传

使用 PHP SQL 在一个表单中上传 2 张图片

提交带有上传图片选项的表单时出错。 PHP 代码点火器