我通过网页写的ftp上传,可是在上传中发现比较小的文档都可以顺利地上传到ftp服务器上,可是要是大的文档(好像是超过2G的)就会显示:ftp_nb_fput() expects parameter 3 to be resource, boolean given in这是怎么回事?怎么解决哈?求专家指导!
解决方案 »
- 新手提问,搞不懂布尔型。。
- 【WebNoteEditor在线编辑器】新增摄像头抓拍功能 欢迎测试!
- 帮忙翻译一段php代码,翻译成asp或asp.net都可以
- 高手给我点思路!自己想试写个这样的程序!
- mktime() expects parameter 6 to be long, string given问题
- 帮我实现一个php的跳转?谢谢
- 帮我看一下转义问题.谢谢了
- 想学php,请问如何搭建php开发平台?请给出相关软件的下载地址,谢谢!在线
- 在Linux下的Apache启动时提示"Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName" ?
- 这怎么会出问题的?很奇怪啊~有朋友来帮忙看看从哪里分析?
- 怎么转移XAMP
- 百度指数PHP与Flash参数传递,请教如何获取百度指数flash数据?
不是自称小妹,是因为在一个群众,一个大哥告诉我,这样的话,有更多的大哥可以帮助我,只是想解决问题,没太多别的。如果这样错了,那我以后不这样做了,不好意思哈!
echo "文件名是:".$name."<br>";
echo "文件类型为:".$type."<br>";
echo "文件大小为:".$size."字节<br>";
echo "文件的临时名称是:".$tmp_name;
$date=date('Ymdhis');//得到当前时间,如;20070705163148 ."<br>".dirname(__FILE__)."<br>"
$linname=explode('.',$name); //将文件名以'.'分割得到后缀名,得到一个数组
$newPath=$date.".".$linname[1]; //得到一个新的文件为'20070705163148.jpg',即新的路径
echo $newPath."<br>";
$oldPath=$_FILES['upfiles']['tmp_name'];//临时文件夹,即以前的路径
//echo $newPath1=$newPath;
//echo $oldPath1=$name;
$new_upload_file_ext = strtolower(end(explode(".", $_FILES['upload_file']['name']))); //取得被.隔开的最后字符串
include("conn.php");
$local_file=$tmp_name;
$fb=fopen($local_file,'r');
$ret = ftp_nb_fput($conn_id,"$newPath",$fb,FTP_ASCII);
//$ip=$_SERVER['REMOTE_ADDR'];
//echo $time=date("Y-m-d H:m:s",time());
while ($ret == FTP_MOREDATA){
// 在这里可以加入其它代码
//echo ".";
// 继续传送...
$ret = ftp_nb_continue ($conn_id);
}if ($ret != FTP_FINISHED)
{
echo "上传文件中发生错误...";
exit(1);
}
}这是我写的上传函数,conn.php是链接ftp服务器的一些函数,然后,运行提示的错误是:Warning: ftp_nb_fput() expects parameter 3 to be resource, boolean given in E:\wamp\www\creative\function.php on line 27,第27行就是ftp_nb_fput()函数的那行,希望大侠可以帮助!第二:我没用伎俩,我真的是女生,然后现在还在上大学,在这个行业中自称一句小妹好像也不过分!所以:请谅解!
回到你的问题上,关于php上传超过2g文件的问题一直有一些不正常的反馈,不过我不确定这个是否也适用于使用php的ftp方式,所以代码不存在问题可能也会出错,或者不出错但是文件就是无法上传.
php.ini 再修改 max_execution_time=0
和 memory_limit=(1G 256M 比例)重启apache 之后尝试一下。