【问题标题】:How to upload an image using a file input and php如何使用文件输入和 php 上传图像
【发布时间】:2016-06-17 23:52:40
【问题描述】:

我正在尝试通过以下代码上传图像,并且我正在从输入文件字段中获取文件名。

if(isset($_REQUEST['requestsubmit']))
{
$field_values_array1 = $_REQUEST['name'];
$field_values_array2 = $_REQUEST['address'];
$field_values_array3 = $_REQUEST['image'];

foreach($field_values_array1 as $k=>$value1){}
foreach($field_values_array2 as $k=>$value2){}
foreach($field_values_array3 as $k=>$value3){

$insert ="INSERT INTO `infotown_house`.`test` (`id`, `userName`, `cat`, `image`) VALUES (NULL, '".$field_values_array1[$k]."', '".$field_values_array2[$k]."', '".$field_values_array3[$k]."')";

mysql_query($insert);

【问题讨论】:

  • 错误/期望的情况/请澄清并准确写出我们可以帮助的部分。
  • @baboizk:事情是我不知道如何通过这个上传图像但是当我尝试“$field_values_array3 = $_FILES['image'];”我没有得到任何东西,但是当我使用“$field_values_array3 = $_REQUEST['image'];”我正在获取文件名。不知道如何通过此代码上传图像。请帮忙
  • 你添加enctype="multi..."到表单了吗?
  • @Sougata:不,但我现在添加了一些值,例如“Array ([name] => Array ([0] => anitree.gif) [type] => Array ( [0] => image/gif ) [tmp_name] => 数组 ( [0] => E:\wamp\tmp\phpE737.tmp ) [错误] => 数组 ( [0] => 0 ) [大小] => 数组 ( [0] => 317510 ) )"
  • 我相信您现在可以完成剩下的工作。 :)

标签: php file-upload


【解决方案1】:

建议 #1:不要使用 $_REQUEST >>> 使用 $_FILE

建议2:不要使用mysql_* >>> 使用mysqli_*

建议 #3:你的 foreach 循环很糟糕 - 是否缺少一些代码?

建议#4:如果没有必要,不要在循环中使用查询

建议#5:'id' 不需要设置,如果它是自动递增的

建议#6:您需要保存上传的图片。你可以使用 move_uploaded_file() 来做到这一点

【讨论】:

  • 建议不是答案。 :)
  • 我认为建议 6 就是答案。但 nitul 并没有提出具体的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
相关资源
最近更新 更多