2

我正在尝试创建一个网站,允许您将图像上传到 Imgur,并将图像的 url 存储在该网站的数据库中。为此,我从这个 Stack overflow 帖子中提取了很多代码:imgur api won't work,然后修改它以适合我的代码,如下所示:

第一:我的表格

<form action="uploadfile.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" /> 
    <input type="submit" name="submit" value="Submit" />
</form>

上传文件.php:

 <?
//configuration
define("IMGUR_API_KEY", "");
require("../includes/config.php"); 
include 'xmlparser.php'; // From http://www.criticaldevelopment.net/xml/doc.php

if($_SERVER['REQUEST_METHOD'] == "POST")
{
$data = file_get_contents($_FILES["file"]['tmp_name']);

// $data is file data
$pvars   = array('image' => base64_encode($data), 'key' => IMGUR_API_KEY);
$timeout = 30;
$curl    = curl_init();

curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

$xml = curl_exec($curl);

$parser = new XMLParser($xml);
$parser->Parse();
echo $parser->images->item->links->original;

curl_close ($curl); 
}

else
{
    render("uploadfile_form.php", ["title"=>"Upload Image"]);
}
?>

配置和渲染只是我构建网站的框架的一部分;只允许我的程序运行。但是,当我的程序运行并到达第 27 行时,它是: echo $parser->images->item->links->original;

我在第 26 行收到“通知:未定义属性:/home/jharvard/vhosts/project/html/uploadfile.php 中的 XMLParser::$images”,然后又收到三个通知,用于尝试获取非对象的属性同一行。知道 $parser 出了什么问题吗?

4

0 回答 0