Sponsored Link

PHPでリンク先が存在するかどうかを調べるのは非常に簡単です。

<?php
$url = "http://www.yahoo.co.jp";
if($fp = fopen($url, "r")){
	while ($tmp = fgets($fp)) {
		print $tmp;
	}
}else{
    print "リンク切れです";
}
?>

これを応用すれば別のサーバのデータを取得できたりもするので便利ですね。

<?php
$path = dirname(__FILE__);
print $path;
?>

AJAXで動的なタブ(Yahooのトップページのようなやつ)を作ってて問題にぶち当たったのがフォーカスの点線が消えないこと。
いつものことながら悩んだあげくにつきとめたのがblur()の存在。
結構いろいろと便利な機能があるもんです。

サンプル

<a href="test.html" onclick="this.blur();">
<img src="hogehoge.jpg">
</a>

実際はこれでは動かないけどこんなイメージです

OpenPNEを携帯で見るとURLはリンクされないままURLが表示されてしまいます。これはPC用サイトの場合携帯では見れないことが多いから仕方なくリンクできないようにしているのではないでしょうか。

そこでGoogleのモバイル用最適化(コンバータ?)を使って携帯からも見れるようにしてみました。
/webapp/lib/smarty_plugins/modifier.t_url2a_ktai.php の30行目あたりの

    if (!$openpne_url) {
        return $raw_url;
    }
        if (!$openpne_url) {
        return sprintf('<a href="%sjump.php?u=%s">%s</a>', OPENPNE_URL, urlencode($raw_url), $raw_url);
    }
に入れ替えてください。

次にジャンプ用ページを作成します。(リファラ等セキュリティ強化のため)
public_html の直下(つまりindex.phpと同じディレクトリです)にこのファイル(jump.php)を解凍して置いてください。

一応jump.phpのソースです。これをコピペしても結構です。(必ずSJISで保存すること)


これで設定完了です。


これは結構使える機能だと思います。
もし使ったかたはご一報いただけると嬉しいです。

MySQLでバックアップ(mysqldump)をしようとしたときに「mysqldump: Error: Binlogging on server not active」というエラーがでてきて困りました・・・いろいろとためしてようやく解決!


my.cnfに

[mysqld]
log-bin=mysql-bin

を追加したら無事バックアップができるようになりました。


mysqldump --user=hogehoge --password=hogepass --master-data=2 --flush-logs --hex-blob --all-database > バックアップファイル名

でバックアップできます。

でもMyIZAMの場合はmysqlhotcopyを使うほうが早くていいと思います。


ちなみに復元(リストア)は

mysql -u hogehoge -phogepass < バックアップファイル名
でいけます

mb_internal_encoding("UTF-8");

 

実はこんなことで1時間もハマってしまいました(TT)

InkTypeはPHPで作られたCMSです。すでに日本語化もされています。
興味をもったきっかけはフレームワークにCodeIgniterを使っていることがきっかけです。

インストール方法です。

①公式サイトからファイルをダウンロード
http://www.inktype.org/

②解凍する

③データベースの作成
 MySQLでデータベースを作成(データベース名は任意。僕は「inktype」にしました)

④PhpMyAdminなどを使って解答されたフォルダの直下にあるinktype_uranus_1_install.sqlを使ってテーブル等を作成する

⑤/system/application/config/config.phpをテキストエディタで開く
 14行目あたりの 

$config['base_url']	= "";
 に絶対URLを入れる(必ずhttp://から入れてください。例: http://hogehoge.jp/inktype/)

 69行目あたりの 

$config['language']	= "english";
 を 
$config['language']	= "japanese";
 に変更(日本語化されます)

⑥/system/application/config/database.phpをテキストエディタで開く

 40行目あたりの 

$db['default']['hostname'] = "";
$db['default']['username'] = "";
$db['default']['password'] = "";
$db['default']['database'] = "";
$db['default']['dbdriver'] = "mysql";

にデータベース情報を追加
例 

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "user";
$db['default']['password'] = "pass";
$db['default']['database'] = "inktype";
$db['default']['dbdriver'] = "mysql";

⑦/system/application/viewes/templates/default/header.phpをテキストエディタで開く
7行目あたりの

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 に変更

⑧ファイルをFTPなどでアップロード
アップロードしたフォルダ名をinktypeと仮定します。

⑨ブラウザでアクセスしてみる
例 http://hogehoge.jp/inktype/
とりあえずページが見ることができるようになります。

⑩管理画面にアクセス
例 http://hogehoge.jp/inktype/index.php/admin/admin/
最初はメールアドレスとパスワードを入力してユーザー登録して管理画面に入ります。

⑪あとは記事を書いたりして色々ためしてみよう!!

mixiがOpenIDに対応しましたね。これは使いようによってはすごく楽しい機能かもしれません。

できればOpenPNEにMixiのIDやYahooIDでログインできるようにしたいものです~。

でも現時点でOpenPNEではコンシューマ機能は実装しておらずOpenPNE3(結構先の話)以降になりそうです。

ということでカスタマイズしてコンシューマ機能を実装してみようかなぁと考え中。
どうしようかなぁ・・・

最近知ったPHPフレームワークのCodeIgniterですが、これが非常に使いやすい。
簡単で最低限必要な機能は揃っています。

Symphonyもいいけど手ごろさでいえばやっぱりCodeigniterかも。

特にレンタルサーバーでコマンドライン操作ができない時には非常に便利です。

ぜひ使ってみてください。

CodeIgniter本家

日本CodeIgniterユーザ会