0

我有这个输入字段:

<input type="text" id="image_url_input" class="url_input" /></div>

这个php代码:

$title = mysqli_real_escape_string($con,htmlentities($_POST['title']));
$content = mysqli_real_escape_string($con,nl2br(htmlentities($_POST['content'])));

$sql = mysqli_query($con,"INSERT INTO nfeed (title, content) VALUES 
('$title','$content')");

if (isset($_POST['image'])) { //This one runs whether or not the input field is empty 

        $image = file_get_contents($_POST['image']);

        $result = mysqli_query($con,"SELECT * FROM nfeed WHERE ID=(SELECT max(ID) FROM nfeed)"); //Here the renaming of the image starts...

            $row = mysqli_fetch_array($result);

            $id = $row['ID'];

            $new_name = $id . "_" . "000.jpg";

                if(file_exists("../images/" . $new_name)) {
                    $new_name = $id . "_" . "001.jpg";
                }

            file_put_contents("../images/" . $new_name, $image);

            $sql = mysqli_query($con,"UPDATE nfeed SET file='{$new_name}' WHERE ID='{$id}'");

        }

当我输入图像 URL 时,它运行得非常好......而当我不输入时 - 这就是问题所在

我试图写入file_get_contents($_POST['image'])一个 .txt 文件,你猜怎么着:它完全是空的!

在切换到 AJAX 之前,我已经运行了相同的功能。这是一个简单的从表单中抓取的代码,如果它是从用户的 PC 上传的,它会添加一个图像。

我也尝试过:if (isset($_POST['image']) && ($_POST['image'] != 0)) {仍然没有运气。为什么它认为我输入了什么?

4

1 回答 1

2

利用

if(!empty($_POST['image']))

Isset 检查数组 ($_POST) 键是否存在。

因此,如果值为空,则 isset 将返回 true,您需要检查它是否为空。

于 2013-04-28T14:33:57.923 回答