如何解决用http 方式上传慢的方法! 偶也想知道copy的原理,,是用http协议的吗??copy()函数是怎么获得数据流的???在传递数据的时候client和server是保持着一个持续的连接吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人感觉应该是使用http协议http作为无记忆状态本身就不适合做大的数据传输 上传的关键在于file标签而非copy().在你执行copy()的时候,文件早已经到达服务器上了. copy函数没问题,偶在本地机,上传过70m的电影,速度还可以,并没有侬说的那种奇慢的情况,5个小时那就更用不了了。5个小时偶还不知道能上传几个g呢。 LeeMaRS(小菜虎_水壶的仇人) 文件早已经到达服务器上了.??不是吧,,,只是数据流吧,,,,“文件早已经到达服务器上了”应该怎么理解呢? zstao(zstao) 如果像 LeeMaRS(小菜虎_水壶的仇人) 说的 文件早已经到达服务器上了.那你的问题不就解决了吗?呵呵我也仔细想了,应该会到达服务器吧,至少服务器应该有缓存post值的地方,也许可以设置接受缓存的大小,,,猜想而已,呵呵 可以使用ftP函数进行上传 PHP上传文件的过程是这样的:PHP从标准输入(apache给的)中读取POST的数据,将其中的文件(<input type=file name=myfile>)保存的临时目录下(一般是/tmp),然后生成全局变量:$myfile,$myfile_name,$myfile_size,$myfile_type(假设文件输入框的名字是myfile).这个$myfile就是PHP生成的那个临时文件的路径,一般是/tmp/phpXXXXXX,$myfile_name 是文件在客户端时的路径,$myfile_size 是文件大小$myfile_type 是文件类型这些都是在你的PHP脚本开始执行前进行的!!!!然后你可以调用cp()或是link()函数把这个临时文件拷贝到你要保存的地方,或者直接打开进行处理都可以,用完后unlink()删除那个临时文件. 你所说的速度异常的慢的原因应该不是PHP和HTTP的原因,你再找找看,看同样的文件你用FTP需要多长时间正常情况下,在100M网卡和交换机的网络里,上传速度应该达到10M/s的 re:dgj在ftp 下速度很快! 30M的东西1分钟都不够就搞好了!所以,我还是认为是http 上的问题.还是本身,程序上的优化呢?!?请教... 看看你的php.ini里的post_max_size、upload_max_filesize,max_executin_time,memory_limit等参数的设置,另外你服务器的配置怎么样?建议你使用link而不是copy dgj: 能具体给个实例来吗?! 我一直会这事情头痛呢!!! 【link】怎么用??高手提醒~~ 超过2M的话,就感觉应该用FTP了 建议把其功能分开来实现 用COPY函数本身就是使用HTTP函数 其本身有限制不如把文件的描述内容入库与文件上传分离 上传用专有的FTP软件(CUTEFTP等) 内容入库用PHP代码 http问题……php不参与所有链接的处理,那是web server的任务,一般web server未对上传优化。 dgj(我是一匹狼) 所说的php对上传的处理是对的……http不适合上传大文件,一是上传的文件要被编码,会增加长度,上传后的文件需解码后才能保存到暂存目录;二是,解码大文件很耗服务器资源。 mb_detect_encoding()函数问题 一个门户的构架,高手请进,谢谢 请教关于MySQL索引优化的问题 谁有网络视频教学系统,求购。 php的面向对象如何掌握 进着皆有分 关于搜索引擎优化 高分求一个搜索本机器目录的文件或者目录的PHP代码,谢谢各位大虾啊。……:) 求高手救助!!万分感谢!! 我实在不知道为什么???打死也不明白~~~ 帮忙将C#代码转PHP代码 PHP.ini无法正常工作 怎样用PHP读取处理COOKIE信息!
http作为无记忆状态本身就不适合做大的数据传输
文件早已经到达服务器上了.??
不是吧,,,只是数据流吧,,,,
“文件早已经到达服务器上了”应该怎么理解呢?
如果像 LeeMaRS(小菜虎_水壶的仇人) 说的
文件早已经到达服务器上了.那你的问题不就解决了吗?呵呵
我也仔细想了,应该会到达服务器吧,至少服务器应该有缓存post值的地方,也许可以设置接受缓存的大小,,,猜想而已,呵呵
PHP从标准输入(apache给的)中读取POST的数据,
将其中的文件(<input type=file name=myfile>)保存的临时目录下(一般是/tmp),
然后生成全局变量:$myfile,$myfile_name,$myfile_size,$myfile_type(假设文件输入框的名字是myfile).
这个$myfile就是PHP生成的那个临时文件的路径,一般是/tmp/phpXXXXXX,
$myfile_name 是文件在客户端时的路径,
$myfile_size 是文件大小
$myfile_type 是文件类型
这些都是在你的PHP脚本开始执行前进行的!!!!然后你可以调用cp()或是link()函数把这个临时文件拷贝到你要保存的地方,或者直接打开进行处理都可以,用完后unlink()删除那个临时文件.
你再找找看,看同样的文件你用FTP需要多长时间正常情况下,在100M网卡和交换机的网络里,上传速度应该达到10M/s的
30M的东西1分钟都不够就搞好了!
所以,我还是认为是http 上的问题.
还是本身,程序上的优化呢?!?
请教...
memory_limit等参数的设置,
另外你服务器的配置怎么样?建议你使用link而不是copy
能具体给个实例来吗?!
我一直会这事情头痛呢!!!
用COPY函数本身就是使用HTTP函数 其本身有限制
不如把文件的描述内容入库与文件上传分离
上传用专有的FTP软件(CUTEFTP等)
内容入库用PHP代码
php不参与所有链接的处理,那是web server的任务,
一般web server未对上传优化。
dgj(我是一匹狼) 所说的php对上传的处理是对的……
http不适合上传大文件,一是上传的文件要被编码,会增加
长度,上传后的文件需解码后才能保存到暂存目录;
二是,解码大文件很耗服务器资源。