[英]Can't retrieve variable from php
PHP文件:
<?php
#Communication with the API
require_once 'api.php';
$cloudkey = new CloudKey($user_id, $api_key);
if(isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK)
{
//Deleted Code: putting the uploaded files in my server.
if(move_uploaded_file($_FILES['FileInput']['tmp_name'], $UploadDirectory.$NewFileName ))
{
$video_file = "/home/george/public_html/q/";
$video_file = $video_file . $NewFileName;
#Sending the video from my server to the cloud server
$res = $cloudkey->file->upload_file($video_file);
#The cloud server will create a link
$source_url = $res->url;
#The cloud server will convert the video very fastly
while(1) {
#Deleted Code: Conversion
if ($asset->status == 'ready') {
# A lot of code. It will convert the videos here and if it succeeds it will stop.
break;
# If the conversion fails, display error
} else if ($asset->status == 'error') {
echo "Error while transcoding the media\n";
}
sleep(1);
}
# Getting the URL of a thumbnail
echo $thumb = $cloudkey->media->get_stream_url(array('id' => $media_id, 'asset_name' => 'jpeg_thumbnail_source'));
}else{
die('error uploading File!');
}
}
else
{
die('Something went wrong!');
}
?>
HTML档案:
{literal}
<script type="text/javascript">
$(document).ready(function() {
var options = {
target: '#output', // target element(s) to be updated with server response
beforeSubmit: beforeSubmit, // pre-submit callback
success: afterSuccess, // post-submit callback
uploadProgress: OnProgress, //upload progress callback
resetForm: true // reset the form after successful submit
};
//function after succesful file upload (when server response)
function afterSuccess()
{
$('#loading-img').hide(); //hide submit button
$('#progressbox').fadeOut(); //hide progress bar
//I WANT TO INSERT SOMETHING HERE.
}
//progress bar function
function OnProgress(event, position, total, percentComplete)
{
//DOES NOT INTEREST YOU
});
</script>
{/literal}
<div id="output"></div>
我正在使用smarty模板引擎。 我有一个html上载表格,该表格将与php文件progressupload.php进行通信,其中php文件将转换视频(使用API服务)并在完成时返回响应。
当用户上传视频文件时,ajax将接管显示的百分比(以html格式),并将文件发送到progressupload.php ,当progressupload.php完成转换后,只需将回显的所有内容输出到php中这在html文件中(我不知道为什么): <div id="output"></div>
。
我想要的是:
当progressupload.php完成转换后,它将生成一个缩略图(屏幕快照)并将其链接存储在$thumb
。 我想检索$thumb
并将其显示给用户使用jquery。
现在,如果您查看HTML代码,则afterSuccess()
是我要向用户显示缩略图的函数:
function afterSuccess()
{
$('#loading-img').hide(); //hide submit button
$('#progressbox').fadeOut(); //hide progress bar
//I WANT TO SHOW THE THUMBNAIL HERE.
}
我删除了很多不必要的代码,这些代码可能会使您分心。 请记住,我使用的是smarty模板引擎,我的html文件未以.php结尾 ,我无法直接回显该变量。 创建变量后,如何检索php变量并将其放入jquery方法中。
我怀疑如果直接在页面加载时检索变量,由于链接需要创建时间(上载,转换),因此它不会成功获取$thumb
。 如何检索该$thumb
?
假设您正在使用jQuery.ajax();
$ .ajax“成功”回调中的第一个参数是从服务器端返回的参数。
function afterSuccess( response /** this is what returned from your server **/ )
{
$('#loading-img').hide(); //hide submit button
$('#progressbox').fadeOut(); //hide progress bar
//I WANT TO INSERT SOMETHING HERE.
console.log(response); // here you can access your $thumbnail
// below code is untested but it should work
// $("#output").html("<img src='"+response+"' class='thumbnail' />");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.