Blogブログ

Archives

xampp on windowsに imagickをインストール。

cakePHPでUploadプラグインを使うために、phpのエクステンションimagickをインストール。手間取ったのでメモ。 reference : http://valokuva.org/new-builds-for-php-5-4-and-php-5-3/ まずはエクステンションをダウンロード。 http://imagemagick.org/script/binary-releases.php#windows もしくは、以下から。 http://valokuva.org/~mikko/imagick-php54-php53.tgz 展開したら、PHPの該当ver内のdllを、 C:\xampp\php\ext 下にコピー。 extension_dirがわからなかったら、phpinfo()で確認。 同様に、同梱されている /ImageMagick-6.8.0-vc9/ を同じ場所にコピー。 そしたらwindowsで環境変数に加える。手順は、 -> computer -> right click -> property -> advanced system settings -> env. variables -> edit your path. これで;で区切って、 C:\xampp\php\ext\ImageMagick-6.8.0-vc9 を追加。 そんでphp.iniに下を追加。 extension=php_imagick_ts.dll そしたら、xamppのコンパネを開き、 ※管理者権限で開くこと apacheのリスタート。 するとphpinfo()した時にimagickが確認出来るはず。

cakephp memo : basic sql

・普通のSQL。アソシエーションがあるテーブルの値も自動で取得出来る。 fields, conditionsでselect, where. public function index(){ $users = $this->User->find(‘all’, array( ‘fields’ => array(‘*’), ‘conditions’ => array(‘group_id =’ => ‘2’), )); $this->set(‘users’, $users); } ・inner joinを使う場合。 public function index(){ $users = $this->User->find(‘all’, array( ‘fields’ => array(‘*’), ‘conditions’ => array(‘group_id =’ => ‘2’),             “joins” => array(                              array(“type” => ‘INNER’,                                    “table” => ‘somethings’,                                    “alias” => ‘Something’,                                    “conditions” […]

CakePHP ログイン判定

ver: cake 2.4.2 ・変数のセット Controller/AppController.php public function beforeFilter() { // add for login check $this->set( ‘loggedIn’, $this->Auth->loggedIn() ); } 例:ヘッダーで判定 if ($loggedIn) { echo ”. $this->Html->link(__(‘Logout’), array(‘controller’ => ‘users’, ‘action’ => ‘logout’)) . “”; } else { echo ”. $this->Html->link(__(‘Login’), array(‘controller’ => ‘users’, ‘action’ => ‘login’)) . “” }

Cake2.4.2 Simple ACL tutorial メモ

Tutorialでのお勉強。 ACL – Access Control List aro – Access Request Object aco – Accecc Controll Object 1.サンプルテーブル。これでBakeする。 CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL UNIQUE, password CHAR(40) NOT NULL, group_id INT(11) NOT NULL, created DATETIME, modified DATETIME ); CREATE TABLE groups ( id INT(11) NOT NULL AUTO_INCREMENT […]

Youtube API v3の検索データ取得サンプル

検索データの取得テストをしてみました。 xml形式からjson形式になっていたので扱いやすく個人的に好み。 また取得する情報をパラメータで指定可能になったので、より処理が軽快になりそう。 ただディベロッパーキーが必要になったみたい。(無くても大丈夫らしいが、アクセエス制限があるよう。) キー取得 cloud.google.com js用のライブラリも用意されているようだが、 google-api-javascript-client 今回はjqueryを使って$.ajaxでパースしてみよう。 function init_v3(){     // リクエスト先     var base = 'https://www.googleapis.com/youtube/v3/search?';          // Requeired search resource. ここが詳しい : https://developers.google.com/youtube/v3/getting-started#partial     var part = 'snippet'     // Search parameter     var search_query = 'your%20search%20keyword';     // max results     var max = 5     // Developer […]

javascript url check

jsonpのリクエスト先URLがダウンしていた時があった。 予めURLのステータスをチェックするための関数。 function _chk_url_status(url){     var request = new XMLHttpRequest;     request.open('GET', url, true);     request.send();     request.onreadystatechange = function(){         if(request.status == 200){             return true;         }else{             return false;         }   […]

jsonp

Ajax関連メモ。 jsonpを使った場合。 var w_jsonfile = 'http://xxxxxx.jp/hoge.php'; $.ajax({ type:"POST", url:jsonfile, dataType: "jsonp", jsonpCallback: 'callback', success:function(data){ console.log(data); }, error :function(XMLHttpRequest,textStatus){ console.log(textStatus); } }); ポイントは、jsonpの場合は、jsonpCallbackパラメータが必要。 jQuery 1.5以降はこれで戻り値を指定する様になったようだ。 詳しくは、http://api.jquery.com/jQuery.ajax/ で、hoge.phpではxmlからjsonへ変換して、上に倣ってcallback()の形で返す。 $xml = "fuga.xml"; $result = simplexml_load_file($xml); $encode = json_encode($result); header("Content-Type: text/javascript; charset=utf-8"); echo sprintf("callback(%s)",$encode); これでOK。

Common components

Cakephp 2.系でコントローラ上で使える共通関数を作ってみます。 まず、controller/Componentに、 CommonComponent.phpを作ります。 今回はデバッグ用関数を作っておきます。 <?php  class CommonComponent extends Component {     public function _d($arr){         echo "<pre>";         print_r($arr);         echo "</pre>";         exit;     } } そしてこれを、Controllerに$Componentsとして追加。       public $components = array('Common');   使いたいときに、 $this->Common->_d($array);   これで確認できます!

sublime text 正規表現

ex 1. "1", "22" "2234", "34" "3234", "34" "4234", "34" "5234", "34" ↓ ("1234", "22"), ("2234", "34"), ("3234", "34"), ("4234", "34"), ("5234", "34"), Find what : "(\d+)", "(\d+)" Replace with : ("($1)","($2)"), ex 2. ("1441","2"), ("1487","2"), ↓ (1441,"2"), (1487,"2"), Find what : \("(\d+)" Replace with : ($1 ex 3. (1441,"2"), (1487,"2"), ↓ (1441,2), (1487,2), Find […]