怎样在主机间移动文件

八百年没上QQ,昨晚鬼使神差就登陆上去了,一上去就看到主机要挂掉的消息,晕~

上一篇文章还说数据丢失是灾难,于是赶紧备份,赶紧买新主机,wpchina.org上的主机,付款后马上开通了。因为原主机没有用cPanel所以不能把文件打包,不过php很强大,有现成的php打包代码,于是上传到主机,把主机上所有文件打包成一个zip文件,这样下载就方便多了。虽然这样文件还是有15M,用现在的网络肯定下载不了,速度慢的让人崩溃。那么只有想辙在主机间迁移文件,不经过本地主机。一番折腾,找到了一段php代码,顺利把文件从旧主机迁移到新主机。内容如下:

<?php 

function copyfile ($file, $dir){
        $file = str_replace (strstr ($file, '?'), '', $file);
        if (!is_dir ('./' . $dir . '')){
                mkdir ('./' . $dir . '', 511);
        } 

        $data = @file_get_contents ($file);
        $filename = $dir . '/' . date ('Ymdhis', time ()) . strrchr ($file, '.');
        $myDir = './' . $filename;
        @fwrite (@fopen ($myDir, 'wb+'), $data);
        return $filename;
} 

$file = "http://www.yourdomain.com/dir/file.zip" ; 

echo copyfile($file,"folder"); 

?>
 

第16行的网址是原来主机上打包的zip文件地址,第18行的“folder”是要拷贝zip文件到新主机上上的目录。上传php文件到新主机然后浏览器打开php运行,再到在新主机上用cPanel解压拷贝过来的文件就可以了,需要注意的是新主机默认有.htaccess文件,解压是不覆盖文件的,所以解压后要把原主机上的.htaccess文件覆盖到新主机,当然,如果你原来的.htaccess文件没用过就不用管了。至于最最重要的数据库没有到phpmyadmin里面备份,用的是WordPress Database Backup插件,备份的.gz文件才200多K,下载后直接导入到新主机的数据库,在把wp-config文件的数据库设置修改成新主机的设置,然后修改系统的hosts文件把域名指向新ip,测试一下新站,搞定!如果直接通过ip加用户名访问虽然能看到wp但是不能正常显示页面,因为后台绑定的是域名,所以要通过域名来测试。之后在正式修改域名的A记录就可以了,等几分钟就切换过来的,当然慢的也可能几小时也说不定。

之后出现的问题就是WordPress Database Backup不能把备份的数据发送到指定的邮箱,后来发现不能把邮件发送到自己的域名下,换了别的邮箱就可以了。

其实用上面的方法也可以不用上传文件包来安装全新WordPress,例如WordPress中文版的下载地址是http://cn.wordpress.org/wordpress-2.7-zh_CN.zip,用此地址替换上面的文件地址,下载到主机后用cPanel解压,如果没有cPanel也可以用php文件来解压,然后把wp-config.php文件下载到本地,修改数据库配置,上传就搞定了。如果wp是安装在单独的目录中,还要修改下index.php,最多上传两个文件就可以安装WordPress了,特别适合慢速网络的用户使用。

最后是上面三个文件的下载,都是网上找的,分别是打包、解压、和主机间移动获取文件的php代码。

发表评论

电子邮件地址不会被公开。