从固定的外部URL日报XML的下载到网络服务器(Daily XML's download t

2019-10-29 15:46发布

我有多个网址,每个指向一个XML文件,尽管它指向手动URL和等待被收集并保存到桌面的每个XML几分钟。

为此我在寻找一个脚本,可以自动访问的URL(一一)晚上和每个XML下载到我们的Apache服务器上的文件夹。

所以我认为需要以下两个代码:1. PHP脚本访问多个定义的URL的; 2.克朗脚本上述点-1夜间运行。

我似乎无法在网络上找到相关的任何东西,所以我希望与你同在。 我想感谢你提前采取的精力和时间。

亲切的问候,理查德·

Answer 1:

class SimpleCrawler {
    private $url;
    private $data; 
    public function __construct($url){
         $this->url = $url;
         $this->load();
    }

    public function load(){
        $this->data = file_get_contents($this->url);
    }

    public function getData(){
       return $this->data;
    }


}

文件类:

Class File {
     protected static $instance;
     protected $isResource = false;
     public $item;

     public static function getInstance(){
         if(!self::$instance){
             self::$instance = new self();
         }

         return self::$instance;
     }

     public function setResource($flag){
          $this->isResource = $flag;
     }
     public static function fromFile($path){
         $obj = self::getInstance();
         $obj->item = $path;

         return $obj;
     }

     public static function fromSource($string){
         $obj = self::getInstance();
         $obj->item = $string;
         $obj->setResource(true);

         return $obj;
     }

     public function save($path){

       try {
        if($this->isResource){
            $fopen = fopen($path,'w');

            fwrite($fopen,$this->item);
        }
        else {
             copy($this->item,$path);
        }

       }
       Catch(Exception $e){
          throw $e;
       }
     }
}

以及如何使用它:

$getXML = new SimpleCrawler('http://mydomain.com/file.xml');
$xmlString = $getXML->getData();

$file = File::fromSource($xmlString);
$file->save("/my/writtable/path/file.xml");

我希望这有帮助..

警告:我写它的头脑,这不是测试。



Answer 2:

如果XML脚本不需要身份验证,你可以用一个简单的shell脚本做到这一点,无论是wget或curl下载的文件

wget -O /local/path/myfile.xml http://example.com/myfile.xml

要么

curl -o /local/path/myfile.xml http://example.com/myfile.xml


文章来源: Daily XML's download to webserver from fixed external URL's
标签: php xml cron