1. php 大文件上传解决方案(500M以上)
针对这种问题,我想从如下几方面着手:
1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;
2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;
3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。
4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!
以上思路希望能帮到你!
2. PHP 如何上传图片和文字
直接form表单加上上传的属性,在php那里判断下 $_FILE里面的临时文件是否存在,存在就遍历,然后定义一个数组。把上传到服务器端的临时文件挪到指定位置,然后把路径存到数组里面,最终存到数据库。就实现上传了
3. php + js实现多文件上传问题
参考如下:
<?php
print_r($_FILES);
?>
<formmethod="POST"enctype="multipart/form-data">
<inputtype=filename=file[]/><br>
<inputtype=filename=file[]/><br>
<inputtype=filename=file[]/><br>
<inputtype=submit>
</form>
提交后$_FILES数组
Array
(
[file]=>Array
(
[name]=>Array
(
[0]=>i.jpg
[1]=>Ico.zip
[2]=>
)
[type]=>Array
(
[0]=>image/pjpeg
[1]=>application/x-zip-compressed
[2]=>
)
[tmp_name]=>Array
(
[0]=>C:.tmp
[1]=>C:.tmp
[2]=>
)
[error]=>Array
(
[0]=>0
[1]=>0
[2]=>4
)
[size]=>Array
(
[0]=>7198
[1]=>121062
[2]=>0
)
)
)
4. JS动态创建的file控件,PHP 怎么获取上传的文件
首先,你的file控件要放到form表单内,其次,每个file控件的name属性应该不同。下面是我修改后的:
<html>
</head>
<script language="javascript" type="text/ecmascript">
var x=1;
//======================
//功能:在表单中input file控件
//参数:parentID---要插入input file控件的父元素ID
// inputID----input file控件的ID
//======================
function createInput(parentID,inputFileID){
var parent=$(parentID);//获取父元素
var div=document.createElement("div");//创建一个div容器用于包含input file
x++;
var divName=inputFileID+x;//随机div容器的名称
div.id=divName;
var aElement=document.createElement("input"); //创建input
aElement.name=divName;
aElement.type="file";//设置类型为file
var delBtn=document.createElement("input");//再创建一个用于删除input file的Button
delBtn.type="button";
delBtn.value="删除";
delBtn.onclick=function(){ removeInput(parentID,divName)};//为button设置onclick方法
div.appendChild(aElement);//将input file加入div容器
div.appendChild(delBtn);//将删除按钮加入div容器
parent.appendChild(div);//将div容器加入父元素
}
//============================
//功能:删除一个包含input file的div 容器
//参数:parentID---input file控件的父元素ID
// DelDivID----个包含input file的div 容器ID
//============================
function removeInput(parentID,DelDivID){
var parent=$(parentID);
parent.removeChild($(DelDivID));
}
//通过元素ID获取文档中的元素
function $(v){return document.getElementById(v);}
</script>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<div align="left" id="div_Pic" style="border:1px solid #CCCCCC">
<input name="PicFile" type="file" id="ShowPicFile">
</div>
<input type="button" onClick="createInput('div_Pic','PicFile')" name="button" id="button" value="+ 继续添加图片">
<input type="submit" value="提交">
</body>
</html>
然后php就可以通过遍历$_FILES来获得每个上传的文件。下面的简单例子只是列出每个文件的原文件名:
<?php
forEach($_FILES as $f){
echo $f["name"]."<br>";
}
?>
5. 一般上传文件用的是javascript还是php之类的服务器语言
js
是客户端语言,无法将文件上传至服务器
6. php,JavaScript web项目,想从本地电脑自动上传文件到Linux服务器,并且SSL加密,怎么做谢谢
HTTPS实际是SSL over HTTP, 该协议通过SSL在发送方把原始数据进行加密,在接收方解 密,因此,所传送的数据不容易被网络黑客截获和破解。本文介绍HTTPS的三种实现方法 。 方法一 静态超链接 这是目前网站中使用得较多的方法,也最简单。
7. php文件上传(利用ajaxfileupload.js)
这个是js错误,是ajax无法解析返回结果导致的错误, $.ajaxFileUpload 的返回值支持 xml 和 json格式
如果dataType 设置为json 格式 在php 文件要输出的话 就需要用echo json_encode($_FILES); 来输出$_FILES 数组中所有的值,
如果只需要输入部分 就需要构造个 这样:
$res = array();
$res['file_name'] = $_FILES['file']['name'];
echo json_encode($res);
如果dataType 设置为 xml 的话,那就要自己将输出结果构造成 xml格式
8. php 多个文件上传问题
你用下面的代码研究下吧:
提交页片段:
<form action="progress.php" method="post" enctype="multipart/form-data" >
<input type="file" name="myfile1"/>
<input type="file" name="myfile2"/>
</form>
php片段:
for($i=0;$i<=2;$i++){
if(isset($_FILES["myfile$i"])&&!empty($_FILES["myfile$i"]['name'])){
move_uploaded_file($_FILES["myfile$i"]["tmp_name"],"test/".$_FILES["myfile$i"][name]);
}
// 另外, php上传文件的大小不是设置了max_file_size就可以的
你需要打开php配置文件 php.ini
查找并修改以下项:
如:
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 128M
遵循upload_max_filesize < post_max_size < memory_limit
9. php uploadify.js 文件上传 cookie 失效如何解决
在js部分,添加 ‘scriptData’ : {‘username’:GetCookie(‘user’)} 选项,即能够将名称为user的cookie值post至 Uploadify.php处理,可以添加多个数据,你要传什么cookie就把cookie的名称加进去,用逗号分隔。