#php #xml #photobucket
#php #xml #photobucket
Вопрос:
Я хочу загрузить файл через photobucket API с использованием Php, но возникает ошибка с отметкой времени.. Это мой код
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
session_start();
require_once('PBAPI.php');
require_once ('./helper/xmltoarray.php');
require_once ('./helper/curl.php');
require_once('OAuth/Request.php');
require_once('OAuth/Consumer.php');
require_once('OAuth/Signature/hmac_sha1.php');
if ($_FILES["file"]["error"] > 0) {
echo '<p class="error">Error' . $_FILES["file"]["error"] . '</p>';
exit;
}
//else {
//
//}
//if ((($_FILES["file"]["type"] == "image/gif")
// || ($_FILES["file"]["type"] == "image/jpeg")
// || ($_FILES["file"]["type"] == "image/pjpeg"))
// amp;amp; ($_FILES["file"]["size"] < 25000)) {
// if ($_FILES["file"]["error"] > 0) {
// echo "Error: " . $_FILES["file"]["error"] . "<br />";
// }
else {
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
if (!move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"])) {
echo '<p class="error">Some Error is occured in Uploading the file</p>';
exit;
}
try {
$path = dirname(__FILE__) . '\upload\'. $_FILES["file"]["name"];
echo $path;
$key = 'xxxxxxxx';
$sec = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$api = new PBAPI($key, $sec);
$api->setOAuthToken($_SESSION['oauth_token'], $_SESSION['oauth_secret']);
$api->setResponseParser('simplexml');
$response = $api->album('temp')->upload(array('type' => 'image', 'uploadfile' => '@'.$path, 'title' => 'my upload'))->post();
var_dump($response);
// $data = $response['content']['result']['primary']['media'];
} catch (PBAPI_Exception_Response $e) {
//echo "RESPONSE $e";
} catch (PBAPI_Exception $e) {
//echo "EX $e";
}
}
?>
ответ приведен ниже. я не знаю, почему он выдает эту ошибку.В коде все в порядке
<response>
<status>Exception</status>
<message>Authentication failed timestamp invalid -1319642824</message>
<code>7</code>
<format>xml</format>
<method>POST</method>
<timestamp>1319642824</timestamp>
</response>
<!-- den3ws194 @ Wed, 26 Oct 2011 09:27:04 -0600 -->
пожалуйста, любой, кто может сказать мне, в чем может быть проблема..
Комментарии:
1. Обратите внимание, что ваш скрипт слепо использует предоставленное пользователем имя файла для сохранения загрузки. Это имя может быть ЛЮБЫМ и включать информацию о пути. Ваш скрипт позволяет удаленному пользователю записывать любой файл на сервере, к которому имеет доступ процесс веб-сервера.
2. Часто задаваемые вопросы по API Photobucket — по-видимому, это довольно распространенный вопрос для них.
3. @GigaWatt Я видел это, но ни одна из упомянутых проблем не присутствует в моем коде