http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8040

解决方案 »

  1.   

    如果 远程主机开了ftp服务,可以用ftp_get取得
      

  2.   

    <?       
    $fp = fopen("/home/rasmus/file.txt", "r");
    $fp = fopen("c:\\mydata\\info.txt", "r");
    $fp = fopen("http://www.php.net/", "r");
    $fp = fopen("ftp://user:[email protected]/", "w");
    ?> 
      

  3.   

    看看下面的贴子吧,上传功能很容易实现的。
    http://www.mamiyami.com/doc/php/features.file-upload.html
      

  4.   

    我的意思是:
    有两个远程主机A和B
    A有需要放到B上的文件,
    要在B上写一个PHP程序,运行后使那个文件传到B上(通过HTTP协议或FTP协议)。
      

  5.   


    upload_sub.php的form<form  enctype="multipart/form-data" action="upload_process.php?passwo3rd=pkipkjklkl956&use3r=lyuedu&psww=kjlkl&Check1=lyunet&Check2=123&ps=lyupk&ps=495995&ppp=pkeclipr&Check1=<? echo($Check1);?>&Check2=<? echo($Check2); ?>&&use3r=lyuedu&psww=kjlk&PHID=bbb1f0d0b9e7382a33766845a9e0efd1" method="post">
                  <input  type="hidden"  name="MAX_FILE_SIZE" value="33000000">
                  <br>
                  描述文件名(少于40字符) 
                  <input name="file_view_name" type="text" size="40">
                  <br>
                  请选择文件类别:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  <select name="select">
                    <?
          require('common.php');
              if(!$id_link)
              {echo"无法连接数据库";
               exit();
              }
            

    $query="select * from $table_type order by add_date";
            $result=mysql_db_query("$dbname",$query);        if(mysql_num_rows($result)!=0)
               {
                  while($r=mysql_fetch_array($result))
                       {$file_type=$r["file_type"];
                        echo "'<option value=$file_type>$file_type</option>'";
                
             
                         }

                 }
    mysql_free_result($result);//释放内存  
    mysql_close();?>
                  </select>
                  <br>
                  内容描述:<br>
                  <textarea name="textarea" cols="50" rows="10"></textarea>
                  <br>
                  请选取文件: 
                  <input name="userfile" type="file">
                  .rar.zip 
                  <input name="submit" type="submit" value="上传文件">
                  <a href="guanli.php?passwo3rd=pkipkjklkl956&use3r=lyuedu&psww=kjlkl&Check1=lyunet&Check2=123&ps=lyupk&ps=495995&ppp=pkeclipr&Check1=<? echo($Check1);?>&Check2=<? echo($Check2); ?>&use3r=lyuedu&psww=kjlk&PHID=bbb1f0d0b9e7382a33766845a9e0efd1"><font color="3AADE9">返回管理页面</font> 
                  </a> </form>
    upload_process.php<?
    require('common.php');
    if(!$id_link)
    {echo"无法连接数据库";
     exit();
     }
    $file_view_name=str_replace(" ","",$file_view_name);//将上传的文件的文件中的半角和全角空格删除
    $file_view_name=str_replace(" ","",$file_view_name);//这样使删除文件程序可以正常运行
    if($file_view_name=="")
    {echo  "您没有输入文件名,该文件名用于显示在本站中,等侍请重新输入!!!";
     echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",1000);</script>";//将下面的java代码删除可以看到到网页的整体框架
    exit();
    }$cp=$userfile_name;//***比较上传的文件名中是否含有空格如有则不能上传***
    $compare=str_replace(" ","",$cp);//***比较上传的文件名中是否含有空格如有则不能上传***
    $compare=str_replace(" ","",$cp);//***比较上传的文件名中是否含有空格如有则不能上传***
    if(!($compare==$userfile_name))//***比较上传的文件名中是否含有空格如有则不能上传***
    {echo "您选择的原文件中有空格请删除或者改名后再上传!"; exit();
     }
    if( copy($userfile,"./uploadfile/soft/".$userfile_name))
    {
    echo "<font color=red >上传成功!</font><br>";
    echo $userfile."-用户上传到服务器上的文件临时存放的名称<br>";
    echo $userfile_name."-在用户机器上该文件的原始名称<br>";
    echo $userfile_size."-上传文件的实际字节数<br>";
    echo $userfile_type."-如果用户的游览器提供了这个信息的话,它表示mime的类型,如image/gif<br>";
     
    $current_date=date('Y-m-d H:i:s');
    $address='./uploadfile/soft/'.$userfile_name;
      $query="insert into $table_file(file_type,file_name,file_view_name,file_describe,file_address,file_date)values('$select','$userfile_name','$file_view_name','$textarea','$address','$current_date') ";
      /*执行此插入记录的SQL语句*/
      $result=mysql_db_query($dbname,$query,$id_link);
      /* 判断SQL语句的执行是否发生错误,若是则提示插入失败,并给出相应的错误号;若执行成功,则提示记录插入成功*/
        if(!$result){
             $errno=mysql_errno();
             $error=mysql_error();
          echo'<html><head><title>Error</title></head><body>';
          echo'SQL 插入失败.';
      echo'<br>';
      echo'<font color=red>可能上传的文件和服务器上的名请改名后上传!等侍自动返回!</font>';
          echo"<br>Error:($errno)$error<br>";   echo'<br>';
          echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",1500);</script>";
          echo'</body></html>';
      
          exit();
          }
         echo '<p>记录插入成功</p>';
      echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",3000);</script>";
     
    exit();
    }else
    {echo "<font color=red >文件上传失败,可能路径错误或者文件太大</font><br>";
     echo "<font color=red >请与管理员联系!</font>";
    echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'guanli.php?Check1=$Check1&Check2=$Check2'\",1500);</script>";   } ?>
      

  6.   

    只要服务器端配置能上传大文件就可以上传无限大内容
    我已经利用此方法成功上传 480M内容.
    代码中难免有些垃圾希望你挑着使用.如有不懂可以问我.
    [email protected]
    http://inber.51.net
    银贝尔
      

  7.   

    b.php把A服务器上的a.zip传到B上
    ------------------
    <?
    $fpA = fopen("http://A/a.zip", "rb");
    $fpB = fopen("aFromA.zip", "wb");
    while($data=fread($fpA,1024)){
      fwrite($fpB,$data);
    }
    fclose($fpA);
    fclose($fpB);
    ?>