【问题标题】:var_dump not returning a valuevar_dump 没有返回值
【发布时间】:2012-03-19 22:41:05
【问题描述】:

我想允许用户在我的网站上为他们的个人资料图片上传图片(文件)。他们通过 HTML 表单上传图像,但我无法将文件移动到我想要的文件夹。我不想弄乱 php.ini 文件来更改上传路径。我想使用 move_uploaded_file()。我尝试使用 $tmp= $_FILES['picture']['tmp_name'] 和 var_dump($tmp),但它一直返回值 (0)。所以,我认为问题与此有关。这是我的代码,

这是我的 HTML:

<form enctype="multipart/form-data" method="post" action="upload_img.php">
<input type="hidden" name="MAX_FILE_SIZE" value="32768"/>
<input type="text" name="name" value=""/>
<input type="file" name="picture" value="picture"/>
<input type="submit" name="submit" value="upload"/>
</form>

还有我的 PHP:

<?php

define('GW_UPLOADPATH', 'images/');

$picture= $_FILES['picture']['name'];
$name= $_POST['name'];
$tmp= $_FILES['picture']['tmp_name'];

var_dump($picture);
var_dump($name);
var_dump($tmp);

$connect= mysqli_connect(//connect params)
or die('error connecting with the database');

$query= "INSERT INTO pics (pic, name) VALUES ('$picture', '$name')";

$target= GW_UPLOADPATH . $picture ;

if (move_uploaded_file($_FILES['picture']['tmp_name'], $target);))
{

mysqli_query($connect, $query)
or die('error with query');
}

?>

【问题讨论】:

  • 你试过转储$_FILES['picture']了吗?
  • 我得到数组(5) { ["name"]=> string(9) "aaron.jpg" ["type"]=> string(0) "" ["tmp_name"]= > string(0) "" ["error"]=> int(2) ["size"]=> int(0)
  • 我已经知道错误了。我没有得到,为什么我得到它?我将 MAX_FILE_SIZE 更改为 100kb,图像只有 93kb,但仍然出现错误。

标签: php mysql


【解决方案1】:

您的问题可能与php 的upload_max_filesize 和post_max_size 有关。检查您的 php.ini 中的这 2 个设置,并确保您尝试上传的文件不大于其中任何一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 2014-05-16
    相关资源
    最近更新 更多