カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

iPhoneアプリのGoogleMapsが復活

iPhoneアプリのGoogleMapsが復活したそうです。
3D表示もできるようになったらしく、パワーアップしているようです。

http://www.google.co.jp/intl/ALL_jp/help/maps/helloworld/

1,307 views

WORDPRESSの子テーマを作成する

WORDPRESSでは、既存のテーマを元に子テーマを作成することができます。
最低限必要なのは、テーマの基本となるスタイルシートファイル(style.css)のみです。
あとは、スクリーンショットがあれば尚可。

まず、themesディレクトリに子テーマ用のディレクトリを作成します。
ここでは親テーマの名前を「parent」、子テーマの名前を「child」とします。

wp-content/themes/child

style.cssを作成します。

/*
    Theme Name: child
    Template: parent
*/

@charset "utf-8";
@import url("../parent/style.css");

@import url();にて親テーマのCSSファイルを相対パスを指定して読み込みます。
そして、このファイルにスタイルを記述していけば親テーマのスタイルよりもこちらが優先されます。
続きを読む…»

2,116 views

PHP メモリーエラー

PHPでファイルを扱う中で、以下のようなエラーが発生することがあります。

Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in ...

ファイルの容量が大き過ぎて、PHPに割り当てられているメモリーの範囲を超えてしまっているのです。

php.iniに以下のような行がありますので、この値を変更してあげます。
デフォルトは8Mです。

memory_limit = 8M   ; Maximum amount of memory a script may consume (8MB)

おすすめはしませんが、-1とすると上限なしに設定できるようです。
変更したらapacheを再起動させてください。

php.iniが触れない場合や、基本的な上限は変えたくないときは一時的に変更します。

init_set("memory_limit", "16M");

もしくは.htaccessでも可能です。

php_value memory_limit 16M

以下の記事も参考にしてください
[ファイルアップロードの最大サイズを変更]

1,456 views

Ajax レスポンス処理の注意点

Ajaxを使用して通信し、得た結果を処理するときの注意点。

サーバーサイドでオブジェクト等を生成して返し、それをeval処理する際、
無効な改行が含まれるとエラーが発生することがあります。

具体的には「終了していない文字列型の定数です。」とスクリプトエラーが発生してしまいます。

例えば、PHPで単純に以下のようなデータを出力するとします。

echo "var a = \"文字列\";";

それをJavaScriptでeval処理すると

eval(responseText);
alert(a);

「文字列」というアラートが表示される。
続きを読む…»

7,130 views

MySQLデータベースにテーブルが存在するか確認する

データベースに指定した名前でテーブルが既に存在するかどうかを
確認することができます。

LIKE検索なので、テーブル名にはワイルドカード(%)を使用することができます。

ここでは例としてPHPを使って確認します。
実行しているのは単純なSQL文ですので、他の言語でも同様にできると思います。

$con = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $con);
$sql = "SHOW TABLES FROM [DATABASE_NAME] LIKE '[TABLE_NAME]'";
$rst = mysql_query($sql, $con);

DBは既に接続されているので以下でも可

$sql = "SHOW TABLES LIKE '[TABLE_NAME]'";
if(mysql_num_rows($rst) == 0){
    print "テーブルが存在しません。";
} else {
    print "テーブルが存在します。";
}
36,276 views