カテゴリー別アーカイブ: LAMP[Linux, Apache, MySQL, PHP]

POSTしているページの「Webページの有効期限が切れています」を抑制する

 Webでブラウザバックした場合、「Webページの有効期限が切れています」等と出て、以前の入力内容が表示できないことがある。
 これは、ページリクエストがPOSTのページでキャッシュが無効になっている場合、再度POSTしないとページ内容が表示できないと言う事。
 最新の内容を表示させることを目的としていれば、この表示は妥当で、再度POSTしてもらうべきではあるが、入力ページなどで戻るボタンで移動したとき、前回の入力内容が表示できた方が便利だけど、この動作だとリロードになって入力内容がリセットされてしまうため、この動作を変更する。

 PHPでの実装は簡単で、
session_start()前に

session_cache_limiter(‘private_no_expire’)

をセットすれば良い。

 これで、ページキャッシュが有効になって、ブラウザバックしたときには前回入力内容がそのまま表示される。

(673)

カテゴリー: PHP | コメントをどうぞ

jQuery uploadがFirefoxで構文エラーをはいて転ける

 jQuery.upload(http://lagoscript.org/jquery/upload) 1.0.2のminified版を入れたら転けた。 Firefoxだけこけた(V.14.0.1)

h=”jquery_upload”+ ++p;

っていう記述があって、IEとChromeは正常に処理するんだけど、Firefoxは

h=”jquery_upload”+++p;

って解析していた。 +みっつ。

そんなわけで、

h=”jquery_upload”+(++p);

に書き換え。

ほんとにちょいメモだけどこれ大事。
ChromeやIEで普通にロードして普通に動いていたけど、ふとした機会にFirefoxで表示したら見事に構文エラーになって転けてページ全体死んでいた。

(299)

カテゴリー: jQuery | タグ: , | コメントをどうぞ

jQueryパーツ、ページを内部で自動リロードさせる

 jQueryでページの一部をリロードさせる。
 一発表示するだけのページを定期監視する為のスクリプト。

<html>
    <head>
        <meta http-equiv=’Content-Type’ content=’text/html; charset=UTF-8′>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" charset="utf-8"></script>
        <script type="text/javascript">
        <!–
        $(document).ready(function(){
            var loading = setInterval(reload, <?php echo("$_GET[‘interval’]"); ?>*1000);
            function reload(){
                $("#loading").html("now loading…");
                $.get("<?php echo("$_GET[‘url’]"); ?>", {}, function(page){
                    $(‘#page’).html(page);
                    $("#loading").html("&nbsp;");
                });
            }
            
            reload();
        });
        // –>
        </script>
    </head>
    <body>
        <span id="loading">&nbsp;</span>
        <hr>
        <div id="page"></div>
    </body>
</html>

PHPファイルとして保存して、http://hoge.tld/file.php?url=/log.txt&interval=30 みたいにリクエストすれば、/log.txtを30秒ごとに更新表示できる。

(1424)

カテゴリー: jQuery | タグ: , | コメントをどうぞ

GMOクラウドVPSが値下げされた

 GMOクラウド VPSのサービスは従来、割高感があったんだけど、5日から値下げされた。
 マイクロプランで12ヶ月払いだと月あたり980円で、CPU3コア、2GBメモリ、100GBのHDDになっている。 12ヶ月払いすると、さくらVPSの980円プランよりちょっとリソース的に有利かな?
 とりあえず、GMOクラウドの株を持っていて、半年あたり5000円引きで利用できるので、6ヶ月契約してみようかな。
 しかし、初期費用が3000円弱かかるのが微妙だなぁ。 お試し期間があればいいんだけど。

(193)

カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

jQueryでテーブル組を変換する[2カラムのテーブルをばらして、スマホ向けにしてみる]

 PC版のサイトでよく使う基本的なテーブルスタイルとして

<table>
<tr><th>件名</th><td>お知らせ</td></tr>
<tr><th>送信者名</th><td>hoge@piyo.tld</td></tr>
<tr><th>メッセージ本文</th><td>こんにちわ、これはテスト用のメッセージです。<br>ワイド画面の多いPCなら良いけど、幅が狭いスマホでは左見出しが長いと見にくくなりますね。</td></tr>
…
</table>

件名 お知らせ
送信者名 hoge@piyo.tld
メッセージ本文 こんにちわ、これはテスト用のメッセージです。
ワイド画面の多いPCなら良いけど、幅が狭いスマホでは左見出しが長いと見にくくなりますね。

 みたいなテーブルがあると思うけど、スマホとかで表示すると(Width600px)

 みたいな感じになって、TDが狭くなっちゃって見にくくなるんで、THをHタグにして、その下にTDを入れるようにJavaScriptで変換してみる(テーブルをはき出すスクリプトを変えれば良いんだけど、PCとスマホでテンプレを変えないと言う変わったケースに対応)

jQueryを使って

$(document).ready(function(){
    if($(window).width()<=720){
        $(‘table’).each(function(){
            var breaked = "";
            $(‘tr’, this).each(function(){
                breaked += "<h3>"+$("th", this).html()+"</h3><p>"+$("td", this).html()+"</p>";
            });
            $(this).before(breaked);
            $(this).remove();
        });
    }
});
</script>

みたいなJSを書いてみた。 UserAgentで識別せずに、開いたときのウィンドウのサイズが720ピクセル以下の場合にH3/Pタグに書き換えるようにしてみた。
 すると・・・

 こんな感じに仕上がって、縦長、横短のスマホ画面向けな感じにイフェクトできた。 セレクタにtableタグを使っているけど、thとtdが1個ずつの2カラムテーブル専用に書いてあるから、2カラムテーブルを明示するクラスなどをつけた方がいいかな。

テストページ (ウィンドウサイズを変えてリロードしてみると、720ピクセル以下とそれより大きい場合で見え方が変わる。 $(window).resizeを使えば、ウィンドウをリサイズしたときにうにょうにょ変わるということもできるだろう)

(360)

カテゴリー: jQuery | タグ: , | コメントをどうぞ

お名前.com VPSで最短WordPress設定する – さくら等CentOS系VPS全般対応

 お名前.com VPSのサーバを契約してWordpressを動かすまでの最短ルートをメモっておく。
 ポイントは、お名前.com VPSの基本状態では、iptablesによりポート22(SSH)しか許可されていないので、これを設定し直すこと。

;必要なパッケージを導入
yum install mysql-server
yum install mysql
yum install php
yum install php-mysql
yum install httpd
yum install vim
yum install wget
yum install unzip

;Apache設定をする(仮想ドメイン等を使わなければとりあえずそのままで動く)
vim /etc/httpd/conf/httpd.conf

;iptablesを設定する。
iptables -I INPUT -p tcp –dport http -j ACCEPT
service iptables save

;サービスのスタート設定
chkconfig httpd on
chkconfig mysqld on
/etc/init.d/httpd start
/etc/init.d/mysqld start

;mysqlでデータベースの作成とパスワード設定をする
mysql
>SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘パスワード’);
>CREATE DATABASE wordpress;

;Wordpressファイルの展開と所有権設定
cd /var/www/
wget http://ja.wordpress.org/wordpress-3.4-ja.zip
unzip wordpress-3.4-ja.zip
rmdir html
mv wordpress html
chown apache:apache html -R

;Wordpressのセットアップ画面で設定を実施。
;DBユーザroot 設定したパスワードとデータベースで構築(本来はrootではなくユーザ追加した方が安全性が高い)
;wp-config.phpの内容をコピって貼り付けてCTRL+D・・・
cat >wp-config.php

 以上でWordpressが使用可能になったはず。
 さくらVPS等、ほかのCentOS系のVPSレンタルサーバでも、同じ方法で導入できる。

 DB直いじりすることがあるならphpMyAdmin位は入れておくのもいいかも。 最後のphpMyAdminは定型で狙われやすいので適当にキーフレーズ的なパスにするのも良い>mv phpMyAdmin-3.5.1-all-languages getwildbytmn みたいにして、http://hoge.tld/getwildbytmn にphpMyAdminを置く。

cd html
wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.1/phpMyAdmin-3.5.1-all-languages.tar.gz/download
tar xzf phpMyAdmin-3.5.1-all-languages.tar.gz
mv phpMyAdmin-3.5.1-all-languages phpMyAdmin

(457)

カテゴリー: サーバ設定 | コメントをどうぞ

VPSで変換した動画を疑似ストリーミングする場合の話

 以前の記事で、ffmpegを使ってお名前.com VPSやさくらVPS上でTS録画をMP4変換する記事を書いた。
 普段、Android標準ブラウザやChromeで見ていると普通に疑似ストリーミングが出来ていたんだけど、仕事関係でIEやFirefoxで見たら、QuickTimeプラグインが立ち上がって、ファイルダウンロード完了しないと再生できないことに気づいた。
 対応方法は、MP4BoxでMP4コンテナを作り直すこと。
 MP4BoxはWindowsでメジャーだけど、GPACの中にもあるので、LinuxでもGPACをビルドして、変換後のMP4を再構築するようにしてやればIEやFirefoxでも疑似ストリーミング出来るようになる。
 もっとも、個人利用でPCはChrome、スマホはAndroidだから、わざわざ変換しないでも良いんだけど、何となくメモっておく。

(366)

カテゴリー: サーバ設定 | コメントをどうぞ