CodeIgniterでFLVファイルをアップロードする方法

CodeIgniterのアップロードクラスでFLVファイルをアップロードしようとするとうまくいきません。

以下を追加すればアップロードできるようになります。

system/application/config/mimes.php

$mimes = array();内の最後に以下を追加してください。

'flv'	=>	array('video/flv', 'video/x-flv', 'flv-application/octet-stream', 'application/octet-stream')

PHPでリンク先が存在するかどうかを調べる方法

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

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

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

フォーカスの点線を消す方法

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

サンプル

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

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

OpenPNEで携帯から外部サイトへのリンクを有効にする方法

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で保存すること)

<?php

if (!isset($_GET[u]) or !preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $_GET[u])) {
    print "不正な操作をしました";
    exit;
}

$url = htmlspecialchars($_GET[u], ENT_QUOTES, "UTF-8");

print <<<EOF
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>他サイトへジャンプ</title>
</head>
<body>
別のサイト、またはPCサイトに移動しようとしています。
<hr>
・<a href="http://www.google.co.jp/gwt/n?u=$url">モバイル用に最適化してページ表示(Google)</a><br><br>
・<a href="$url">直接アクセス</a><br>
・URLを表示<br>
$url
EOF;
?>

これで設定完了です。


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