例如,我创建了一个包含以下内容的文件(upload.php)并将其上传到我的服务器:
$url = $_GET['url'];
$put = file_put_content('./' . basename($url),file_get_contents($url));
if($put){
echo json_encode(array('status' => true));
}
好吧,现在在其他服务器上,我有这个表格:
<input type="url" id="url">
<a onclick="doUpload()">Upload</a>
<div id="uploaded_size"></div>
<script>
function doUpload() {
$.ajax({
cache: false,
type: 'GET',
dataType: "json",
url: 'http://example.com/upload.php',
data: {
url: $('#url').val()
},
beforeSend: function (data){
//i want show uploaded file size in this area or in success function.
},
success: function (data) {
},
})
}
<script>
如何使用这种方法每2秒查看一次上传的文件大小? 例如:
function SetProgressStart() {
doProgress = setInterval(
showProgress, 2000);
}
function showProgress() {
$('#uploaded_size').html();
}
我已经弄好了,看:
$url = $_GET['url'];
$name = basename($url);
//Here we request the file size:
if(isset($_GET['size']))
{
// Get Uploading File Size
$filesize = filesize($name);
die(json_encode(array('uploaded' => $filesize)));
}
$put = @file_put_content('./' . $name, @file_get_contents($url));
if($put){
echo json_encode(array('status' => true));
}
但是问题是文件正在上传,直到操作完成为止,该文件不在文件夹中。因此,我需要一种在临时文件夹中上载时无法处理文件的方法。 无论如何,如果此方法可行,则每2秒请求url的可能性就有可能阻止浏览器访问服务器。因此,这不是一个好方法:(