【发布时间】:2015-07-07 07:11:07
【问题描述】:
我有一个带有 jQuery File Upload 的演示页面,目前允许通过 PHP 将视频文件上传到虚拟主机。
代码:
<?
// A list of permitted file extensions
$allowed = array('mov', 'mp4', 'avi');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
echo '{"status":"success"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
我需要这个演示完全可以通过他们的 API 而不是上传目录将视频文件上传到我的 Wistia 画廊。
使用 sn-p 将文件上传到带有视频 URL 的 Wistia API:
<?
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'url' => '[video_url]'
);
$wistia = curl_init('https://upload.wistia.com');
curl_setopt_array($wistia, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => http_build_query($data)
));
// Send the request
$wistia_request = curl_exec($wistia);
?>
但是更改这些值并在我的表单中使用它不起作用:
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'file' => '@' . $_FILES['upl']['name']
);
如您所见,我需要指导和帮助。非常感谢任何提示。
以下是该项目的一些文档:
【问题讨论】:
-
"但是更改这些值并在我的表单中使用它不起作用:" 什么不起作用?你得到什么样的错误?
-
你可以采取另一种方法...你为什么不把你的文件上传到你的服务器,把你的文件 url 发送到 wistia api,一旦 wistia 没问题,从你上传的文件中删除文件文件夹...
-
嘿@Artmann。 :) 作为 Wistia API 的响应,我收到内部服务器错误。
-
@RobertRozas 这个想法闪过我的脑海,我宁愿避免它,因为我必须支付额外的存储和数据费用,尤其是当它是大型视频文件时。
-
如果你改用
'file' => '@' . $_FILES['upl']?
标签: javascript php jquery file-upload wistia