Chinaunix

标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办? [打印本页]

作者: litie123    时间: 2005-07-20 10:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 北京野狼    时间: 2005-07-20 10:12
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
没办法
作者: reffo    时间: 2005-07-20 10:23
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
如果要用post的办法,估计php.ini的限制会导致瓶颈。所以试一下copy的办法
作者: litie123    时间: 2005-07-20 11:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: HonestQiao    时间: 2005-07-20 11:49
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
很多人以为,copy可以直接拷贝文件,实际上是个错误的想法;

copy你本地的文件?
不可能,如果那样子,我不啊你所有的文件都给copy走了?

copy是一般对服务器本地的文件操作的
作者: reffo    时间: 2005-07-20 12:27
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
<?php
//copy本地文件到远程ftp
//不是远程拷贝本地的文件
$file = 'example.txt';
$newfile = 'ftp://www.test.com/example.txt.bak';

if (!copy($file, $newfile)) {
   echo "failed to copy $file...\n";
}
?>;
或者ftp上载
<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
       echo "FTP connection has failed!";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name";
       exit;
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name";
   }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// check upload status
if (!$upload) {
       echo "FTP upload has failed!";
   } else {
       echo "Uploaded $source_file to $ftp_server as $destination_file";
   }

// close the FTP stream
ftp_close($conn_id);
?>;
作者: 北京野狼    时间: 2005-07-20 12:35
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
有ftp还搞什么上传啊
作者: reffo    时间: 2005-07-20 13:04
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
post肯定不行啊,ftp上传撒
欧珠的意思肯定是他自己写的代码,但是害怕用户的max_file_size超过了撒
所以就折中一下,做个ftp管理的,就可以保证了。嘿嘿。
作者: dulao5    时间: 2005-07-20 15:04
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
不明白ftp的办法,
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

这个 $source_file难道是客户端浏览器用户的文件?你的程序位置在服务器A上,想把用户B的文件发送到ftp服务器C上吗?
作者: litie123    时间: 2005-07-20 16:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: litie123    时间: 2005-07-20 17:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: reffo    时间: 2005-07-20 18:03
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
啊哦?如果这样的话,那就只有考虑一些极端的办法了,估计只用php比较难办了。

假设在win平台下有待上传文件$file,一个文件split.exe作用是判断文件大小,如果filesize($file)>;2M(default),那么就exec(split.exe $file),split.exe就去切分 $file,成为$file0,$file1....都是在php.ini和max_file_upload范围内的。

当时动网(www.dvbbs.com)作论坛上载的时候,版本3还是4我忘了。我记得有某个类似的东西,查一下也许可以找到现成的。

我也知道这样做比较复杂,而且很笨,要挨骂。先闪了.......
作者: carset    时间: 2005-07-20 21:03
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
$lag=true;//正常
$lag=false;//太大

if (!$lag) echo "您的文件太大 ^@^";
作者: dulao5    时间: 2005-07-20 22:22
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
php程序位置在服务器A上,想把用户B的文件发送到ftp服务器C上吗?

我非常不懂,用户b的文件如何首先到达服务器A上?如果是通过Post,依然不能逃过max_file_size阿?
作者: carset    时间: 2005-07-20 22:43
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
如果文件太大超过了限制.而且你没有权限修改这个限制,并且服务器上没有开放FTP或其他可以提供给你上传的方法.但是你还是非要上传的话,可以有以下两种方法

1 . 正常方法.本地压缩分割,然后上传.
2. 给服务器的ADMIN打骚扰电话,直到他给你修改上传限制为你需要的大小.
作者: reffo    时间: 2005-07-20 23:29
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
admin?admin应该是楼主本人
<?php
function myself($id)
{
call('1379859502');
myself($id);
}
myself('litie123');
?>;
作者: phphp    时间: 2005-07-21 07:35
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
POST不行
ftp的话直接拖过去好了,依楼主的意思看他是有ftp帐户的。
这样想吧,如果能轻易绕过,那它何必在php.ini里设那么个选项?
----------------------------------------------------------------
给个想法:用邮件的附件功能
作者: HonestQiao    时间: 2005-07-22 23:00
标题: 请问 如果php上传的文件大小超过了 post_max_size该怎么办?
唉,很多人都是直接看了手册例子什么的,连脑袋动都不动一下子就复制了。
例如:

  1. <?php
  2. //copy本地文件到远程ftp
  3. //不是远程拷贝本地的文件
  4. $file = 'example.txt';
  5. $newfile = 'ftp://www.test.com/example.txt.bak';

  6. if (!copy($file, $newfile)) {
  7.   echo "failed to copy $file...\n";
  8. }
  9. ?>;
复制代码

这个$file,代表的服务器的文件,而不是浏览者的电脑上面的文件,为什么:
1、到什么地方照着个文件?
2、如果可以,那我想复制什么,就复制什么
3、自己看清出php的手册




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2