2017-02-20 15 views
1

私はCodeIgniterのウェブアプリを持っているとCodeIgniterのモデルを実行し、私はすでに印刷画面を作るために、カムAPIにリクエストを行いますモデルをした、スクリプトはそれがここ、いい作品:cronジョブ

<?php 

class CronjobImagePrintScreenAPI extends CI_Model{ 
function __construct() 
{ 
     // Call the Model constructor 
     parent::__construct(); 
     $this->load->library('curl'); 
     $this->load->helper('file'); 
} 



public function show_jobs(){ 
    $flag = FALSE; 
    $query = $this->db->get('cron_jobs'); 
    $query_result = $query->result(); 
    if (empty($query_result)) { 
    $flag = FALSE; 
    }else{ 
    $flag = TRUE; 
    } 
    if($flag === TRUE){ 
    $datasidget = $this->curl->simple_get('myloginapi'); 
    $datasid = json_decode($datasidget,true); 
    $data_sid = $datasid['data']['sid']; 

    $reqUrl = "myprintscreenapi"; 
    $imageencode = $this->curl->simple_get($reqUrl); 
    $insert_id = $query_result[0]->name; 
    $path = "./images/$insert_id"; 
    write_file($path, $imageencode, $mode = 'wb'); 
    $this->db->where('name', $insert_id); 
    $this->db->delete('cron_jobs'); 

    } 
} 
} 

そして、私はそのモデルを実行するために書かなければならないものは何かを私が知らない、それを行う方法を知っています。私はこのようなコントローラーを作った:

<?php 
class Cronpicture extends CI_Controller { 
public function __construct() { 
    parent:: __construct(); 
    $this->load->helper('url','form'); 
    $this->load->library('pagination'); 
    $this->load->model('CronjobImagePrintScreenAPI'); 
} 
public function getcronjob() { 
$result=$this->CronjobImagePrintScreenAPI->show_jobs(); 
return $result; 
} 
} 
?> 

しかし、これは明らかにこれは動作しません、何かを呼び出す必要がありますコールする 関数。任意のアイデアはどのように実行可能なPHPファイルを作るには、そのモデル関数を呼び出すためにcronを実行するには?ありがとう!

あなたが行うことができます
+0

をwgetをして使うのですか私はあなたのcronがCLIから実行されているので、ちょうど[ドキュメント](HTTPSから例に従っているとします/ /www.codeigniter.com/user_guide/general/cli.html)。 – Tpojka

答えて

1

php /path_to_index/index.php Cronpicture getcronjob 

それともURL

wget -O http://yoururltoload 
+0

ありがとうございました!働いた – Bogdan