Toconangoのブログ

プログラミングのユルフワ備忘録です。間違った記載等ありましたらご連絡頂けますと幸いです。

bootstrap-modal.jsのモーダルをスクリプトから呼び出す

参考:BootstrapのJavaScriptで、Modalを使うメモ(とても短いサンプル) - Qiita

    <div id="Dialog" class="Dialog modal hide fade">
            ご利用ありがとうございます。
    </div>
<script>
    $(function () {
        $("#Dialog").modal('show');
    });
</script>

これでページが表示された時にモーダルが表示される。

閉じるときは

$("#Dialog").modal('hide');

SublimeTextで正規表現を使って置換する

99999_99 -> 99999-99 に置換

([0-9]{5})_([0-9]{2})

または、

(\d{5})_(\d{2})

$1-$2

で置換する。

  • 正規表現は()で囲んだ部分をグループ化することができる。

  • 変数の$1、$2、・・・、$nには、()が出現した順の部分文字列が代入される。

任意の一文字

(.)

任意の文字列

.*

参考

SS | SublimeTextで正規表現の部分置換

正規表現について-正規表現サンプル集

zmv

複数のjpgのファイル名を一括で大文字に置換する

# boston_bag.jpg -> BOSTON_BAG.jpg 
zmv '(*).jpg' '${(U)1}.jpg' 

全てのアンスコをハイフンに置換する

# BOSTON_BAG.jpg  -> BOSTON-BAG.jpg
zmv '*_*' '$f:gs/_/-' 

参考

複数ファイルの名前をまとめて変更する - Qiita

zmvコマンドで複数ファイルの一括リネーム - Qiita

zmvを使ってファイルのリネームとかを簡単に行う | ごりゅご.com

Apache htmlファイルで、<?php ?>が動かない

環境

原因と対策

htmlファイル上でphpが実行可能な設定がされていないため、 <?php include("../include.html"); ?>でinclude.htmlがインクルードされなかった。

Apacheのconfに下記の2行を追加する

    AddType application/x-httpd-php-source .phps
    AddType application/x-httpd-php .php .html .htm

参考:htmlファイルでもphpを実行させる - 3割の働きアリ

Apache cgiが動かない

環境

原因と対策

1.Apacheのデフォルトページが表示される

apacheのconfのDirectoryIndexを指定する

DirectoryIndex index.cgi index.html

IfModule dir_moduleは使わないほうが良いらしい。

参考:Apache設定ファイルのIfModuleは消しておく方がよい。 - Qiita

なので、下記は非推奨

<IfModule dir_module>
    DirectoryIndex index.cgi
</IfModule>

2.cgiのソースが表示される

apacheのconfのAddHandlerを指定する

AddHandler cgi-script .cgi

3.“Forbidden You don't have permission to access /index.cgi on this server.”と表示される

apacheのconfのOptions Indexes FollowSymLinks Includes ExecCGIを設定する

<Directory "/">
    #Options Indexes FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
</Directory>

4.apacheのエラーログで”Can't locate CGI.pm”

CGI.pmがインストールされているか調査

$  find `perl -e 'print "@INC"'` -name '*.pm' -print | grep CGI
find: ‘/usr/local/lib64/perl5’: そのようなファイルやディレクトリはありません
find: ‘/usr/local/share/perl5’: そのようなファイルやディレクトリはありません

CGI.pmがインストールされていない場合、インストールする

$ sudo yum -y install perl-CGI

5.文字化けする

apacheのconfの文字コードの設定を変える

参考:Apache 文字化け対策 AddDefaultCharset | CentOSサーバ構築術 文具堂

#AddDefaultCharset UTF-8

Fuelのクエリビルダーに、SQL クエリを文字列で返却させる

Database_Query::compileを使います。

参考:Query Builder Select - クラス - FuelPHP ドキュメント

$sql = \Db::select()
     ->from('table_name')
     ->where('id', '=', 1)
     ;
$connection = \Database_Connection::instance('database_name');
$query = $sql->compile($connection);

$queyの中身を出力すると以下の文字列が得られます。

SELECT * FROM `table_name` WHERE `id` = 1

Database_Query_Builder_Selectに限らず、

Database_Query_Builder_Insert、Database_Query_Builder_Deleteクラスなど、

Database_Query_Builder_XXXクラスは、Database_Queryクラスの拡張なので、

どのビルダーでも同じ方法が使えるはず。