У меня вопрос о imgur api. Я хочу создать галерею для своего сайта, используя imgur api, но как я могу создать загрузчик файлов, который загружается на серверы imgur?
Вот что я создал:
<?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' => HERE_MY_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 { ?> <form action="test.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /> </form> <?php } ?>
Но это, похоже, не работает …? Я получаю эту ошибку:
Ошибка анализа: ошибка синтаксиса, неожиданный T_STRING, ожидающий ')' в C: \ data \ home \ www \ test.php в строке 7
И строка 7 – это строка:
$pvars = array('image' => base64_encode($data), 'key' => HERE_MY_API_KEY);
Что не так? Документация imgur api находится здесь: http://api.imgur.com/examples
Можете ли вы, ребята, помочь мне?
И да, я уже просматривал эти темы:
Форма загрузки HTML будет загружать только файлы, найденные в каталоге файла PHP
Использование jQuery для синтаксического анализа XML, возвращаемого из PHP-скрипта (API imgur.com)
Но это мне не помогло …
Приветствую
Поместите ключ API в кавычки. То, как они помещаются во всех кепках и вне кавычек, означает постоянное значение.
Убедитесь, что вы зарегистрировались для анонимного API, а не для аутентифицированного API здесь http://imgur.com/register/api
Оттянул волосы за это