我通过网页写的ftp上传,可是在上传中发现比较小的文档都可以顺利地上传到ftp服务器上,可是要是大的文档(好像是超过2G的)就会显示:ftp_nb_fput() expects parameter 3 to be resource, boolean given in这是怎么回事?怎么解决哈?求专家指导! 

解决方案 »

  1.   

    网上好像都没有这个函数(ftp_nb_fput())的详解,好像很好有人这样去写啊。。看到的大侠如果懂得的话,给留个言哈,在线等!也可以直接加我QQ:908695719,小妹等待指教!
      

  2.   

    ftp_nb_fput() 函数 需要传递的资源类型参数错误。给了个布尔值。检查自己的代码是不是xx后都喜欢自称小妹?喜欢给把的感觉?
      

  3.   

    参数出错?不是,可是小的文档都可以上传,我刚才又重新试了一下,只要文档超过2M上传就出错,我改了php.ini中的允许最大上传量的那个限制,又重启了,可是还是不行!
    不是自称小妹,是因为在一个群众,一个大哥告诉我,这样的话,有更多的大哥可以帮助我,只是想解决问题,没太多别的。如果这样错了,那我以后不这样做了,不好意思哈!
      

  4.   

    function Uplode($upfiles,$name,$type,$size,$tmp_name){
    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()函数的那行,希望大侠可以帮助!第二:我没用伎俩,我真的是女生,然后现在还在上大学,在这个行业中自称一句小妹好像也不过分!所以:请谅解!
      

  5.   

    我测试了,好像是fopen出错了,要是大文档的话,fopen根本就打不开,然后报错了
      

  6.   

    不管是或不是,我都不关心。
    回到你的问题上,关于php上传超过2g文件的问题一直有一些不正常的反馈,不过我不确定这个是否也适用于使用php的ftp方式,所以代码不存在问题可能也会出错,或者不出错但是文件就是无法上传.
    php.ini 再修改 max_execution_time=0
     和 memory_limit=(1G 256M 比例)重启apache 之后尝试一下。