相关疑难解决方法(0)

为什么图像上传失败php的is_uploaded_file检查?

我有一个允许图像上传的html表单,但由于某种原因,现在上传的图像无法通过"is_uploaded_file"检查.

那么为什么上传失败了is_uploaded_file检查呢?

HTML:

<form enctype="multipart/form-data" id="RecipeAddForm" method="post"
action="/recipes/add" accept-charset="utf-8">
    <!--- Omitted Markup -->
    <input type="file" name="data[Recipe][image]" value="" id="RecipeImage" />
    <!--- Omitted Markup -->
</form>
Run Code Online (Sandbox Code Playgroud)

PHP:

// returns false
echo is_uploaded_file($file['tmp_name'])?'true':'false'; 
Run Code Online (Sandbox Code Playgroud)

我在$ file或$ _FILES数组上进行了转储:

Array
(
    [name] => add or remove.jpg
    [type] => image/jpeg
    [tmp_name] => E:\\xampp\\tmp\\phpB9CB.tmp
    [error] => 0
    [size] => 71869
)
Run Code Online (Sandbox Code Playgroud)

文件大小不是太大,错误是0.那么为什么它会失败is_uploaded_file检查?

html php forms upload

4
推荐指数
1
解决办法
8505
查看次数

is_uploaded_file() 始终返回 FALSE

我创建了一个用于多文件上传的表单。我在这里只报告所需的代码。

当我上传一个或多个文件时,数组

$_FILES['shopImage']
Run Code Online (Sandbox Code Playgroud)

有与一个或多个文件相关的日期,我可以通过var_dump()在下面放入 PHP 代码中看到它,我可以找到上传的文件。

然而,该函数

is_uploaded_file($_FILES['shopImage']['tmp_name'])
Run Code Online (Sandbox Code Playgroud)

始终返回 FALSE。

请查看生成 $_FILES 数组的 HTML 代码:

<form method="POST" action="upload.php" enctype="multipart/form-data">
...
...
...
    <div class="pics">
        <input type="file" name="shopImage[]">
        <input type="file" name="shopImage[]">
        <input type="file" name="shopImage[]">
        <input type="file" name="shopImage[]">
    </div>
...
...
...
    <input type="submit" name="submit" value="UPDATE"><input type="reset" value="RESET">
</form>
Run Code Online (Sandbox Code Playgroud)

这是我用来测试它的 PHP 代码:

<?
require_once $_SERVER['DOCUMENT_ROOT'].'include/setup.php';

if (!empty($_POST['submit']) and $_POST['submit'] == "UPDATE") {

    var_dump($_FILES['shopImage']);
    if(is_uploaded_file($_FILES['shopImage']['tmp_name'])){
        echo "TRUE";
        exit;
    } else {
        echo "FALSE";
        exit;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

这里是 var_dump()

array(5) { …
Run Code Online (Sandbox Code Playgroud)

php is-uploaded-file

1
推荐指数
1
解决办法
2794
查看次数

标签 统计

php ×2

forms ×1

html ×1

is-uploaded-file ×1

upload ×1