上传文件的难题(在两个站点间传输文件)
我有两个网站空间:A和B,因为我要上传的文件比较大,A站点不支持续传,所以要常会因为掉线的问题需要重新上传,而B站点是支持续传的。
我想将文件先上传到B站点,然后想办法把B站点的文件复制到A站点,我对PHP不熟悉,现在我想问的是,有没有相关的工具或者代码可以实现这个功能:
www.b.com/file.zip -> www.a.com/file.zip
问题点数:100、回复次数:8Top
1 楼feixuehenshui(飞雪恨水)回复于 2004-11-01 11:51:51 得分 40
copy
(PHP 3, PHP 4 )
copy -- 拷贝文件
说明
bool copy ( string source, string dest)
将文件从 source 拷贝到 dest。如果成功则返回 TRUE,失败则返回 FALSE。 例子 1. copy() 例子
<?php
if (!copy($file, $file.'.bak')) {
print ("failed to copy $file...<br>\n");
}
?>
注: 从 PHP 4.3.0 开始,如果启用了“fopen wrappers”的话,source 和 dest 都可以是 URL。更多细节见 fopen()。如果 dest 是一个 URL,则如果封装协议不支持覆盖已有的文件时拷贝操作会失败。
Top
2 楼surfchen(冲浪)回复于 2004-11-01 11:52:28 得分 20
有!用socket~~具体我也没做过~~所以也无法给你代码~~Top
3 楼junwhj(http://www.grid2000.com/cn)回复于 2004-11-01 11:58:09 得分 0
谢谢,我先试试。Top
4 楼junwhj(http://www.grid2000.com/cn)回复于 2004-11-01 12:29:25 得分 0
试过了,不行啊:
Warning: Unable to open 'http://junwhj.myrice.com/test.zip' for reading: No such file or directory in download/uploadfile.php on line 4
failed to copy ...
我的虚拟主机不支持直接从URL复制文件。
<?php
$sfile = "http://junwhj.myrice.com/test.zip";
$dfile = "test.zip";
if (!copy($sfile, $dfile)) {
print ("failed to copy $file...<br>\n");
}
?>Top
5 楼zhangyizhong(empty)回复于 2004-11-01 12:33:22 得分 20
楼主为何要如此呢,换个空间吧
既然你的www.b.com 都不能继传,那么你从 a.com 拷贝的时候也同样会发生端点啊????Top
6 楼junwhj(http://www.grid2000.com/cn)回复于 2004-11-01 12:38:14 得分 0
我的www.grid2000.com是国外的虚拟主机,是通过国内一家公司购买的,他们只有这种空间,要换空间比较困难。junwhj.myrice.com是免费的空间,支持续传。
真的没办法了吗?Top
7 楼hahawen(变态的大龄青年)回复于 2004-11-01 12:40:58 得分 20
这个同步问题不应该通过php来实现. 通过服务器操作系统的同步机制来实现是最方便的.Top
8 楼junwhj(http://www.grid2000.com/cn)回复于 2004-11-01 12:47:40 得分 0
我的是Linux服务器,而是且虚拟主机,有很多东西应该都是用不了的。Top




