我需要为我的php上传网站创建进度栏的帮助。我已经整理了上传和摘录部分,但我需要进度条的帮助。我不确定该怎么做。另外,上传文件的最大大小是多少?
的HTML
<?php if($message) echo "<p>$message</p>"; ?>
<form enctype="multipart/form-data" method="post" action="">
<label>Choose file (.zip): <input type="file" name="zip_file" /></label>
<br />
<input type="submit" value="Upload" name="submit" value="Upload" />
</form>
的PHP
<?php
if($_FILES["zip_file"]["name"]) {
$filename = $_FILES["zip_file"]["name"];
$source = $_FILES["zip_file"]["tmp_name"];
$type = $_FILES["zip_file"]["type"];
$name = explode(".", $filename);
$accepted_types = array(
'application/zip',
'application/x-zip-compressed',
'multipart/x-zip',
'application/x-compressed');
foreach($accepted_types as $mime_type) {
if($mime_type == $type) {
$okay = true;
break;
}
}
$continue = strtolower($name[1]) == 'zip' ? true : false;
if(!$continue) {
$message = "[...] not a .zip file. Please try again.";
}
$target_path = "./".$filename;
if(move_uploaded_file($source, $target_path)) {
$zip = new ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
$zip->extractTo("./");
$zip->close();
unlink($target_path);
}
$message = "Your .zip file was uploaded and unpacked.";
} else {
$message = "There was a problem with the upload. Please try again.";
}
}
?>
您可以进行一些更改以适合需要,但是如果您需要进度条,则效果会很好。您可以添加更多事件监听器,并根据需要进行设置。希望这对您来说是一个很好的起点。
function uploadFile(){
var file = document.getElementById("zip_file").files[0];
var formdata = new FormData();
formdata.append("zip_file", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", function(event) { runprogress(event); } , false);
ajax.addEventListener("load", function(event) {uploadcomplete(event); }, false);
//Target your php file.
ajax.open("POST", "upload.php");
ajax.send(formdata);
}
function runprogress(event){
//The progress %, you might want to Math.round(percent)
var percent = (event.loaded / event.total) * 100;
}
function uploadcomplete(event){
//This will = to your php reply.
var AjaxReply=event.target.responseText;
}
问题内容: 有谁知道如何获取进度条以php上传?我正在尝试为相册上传者编写代码。我希望在上传照片时显示进度条。 我对php很陌生,所以我不了解它的一切。 问题答案: 这是到目前为止(在经过数小时的搜索和尝试脚本之后)最简单的设置,也是我发现的最好的上载器 它不需要APC或任何其他外部PHP库,我可以在共享主机上获得文件进度反馈,它声称支持html5拖放(未经个人测试)和多个文件上传。
问题内容: 我非常了解Javascript,AJAX和JQuery等,并且我相信可以使用PHP,AJAX和Javascript等创建上传进度栏。 我很惊讶如何获得上传的大小(意思是我想知道的每一秒,上传了多少文件,还有多少剩余,我认为应该可以使用AJAX等)文件正在上传中。 这是PHP手册的链接,但我不明白: http //php.net/manual/en/session.upload- pro
问题内容: 我敢肯定这已经被问过了,但是由于我似乎找不到一个好的答案,我在这里再次问…。:) 是否可以仅使用HTML,JavaScript / AJAX和PHP的组合来报告文件上载的实际进度? 回复任何提出SWFUpload或类似建议的人: 我都知道 走那条路。我正在寻找100%纯净的解决方案(是的,我知道我可能不会得到它)。 问题答案: 如果您能够将PECL软件包添加到PHP中,则有upload
问题内容: 看来我还没有清楚地传达出我的问题。我需要发送一个文件(使用AJAX),并且需要使用Nginx HttpUploadProgressModule 获取文件的上传进度。我需要一个很好的解决方案。我已经尝试过使用jquery.uploadprogress插件,但是我发现自己不得不重写其中的大部分内容,以使其在所有浏览器中都能正常工作并使用AJAX发送文件。 我所需要的只是执行此操作的代码,它
问题内容: 我有一个表单,可以使用AJAX将图像上传到PHP脚本 这是我的表格 结果div是显示PHP输出的位置(请参见AJAX) 进度栏是我希望看到引导进度栏的地方。 这是我的AJAX 现在,我得到一个输出,向我显示PHP中回显的数据。但是由于某种原因,我无法使进度条正常工作。 可能是什么问题? 问题答案: 去除 解决了。但我现在需要看看如何重置标准。
本文向大家介绍php实现简单的上传进度条,包括了php实现简单的上传进度条的使用技巧和注意事项,需要的朋友参考一下 Web上传文件的三种解决方案分享给大家: 这里我要使用的是form法。通过为表单元素设置enctype=”multipart/form-data”属性,让表单提交的数据以二进制编码的方式提交,在接收此请求的Servlet中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的