カテゴリー「PHPやろう」の27件の記事

PEAR×ロリポップ、動いた!w(Net_UserAgent_Mobile)

とにもかくにも「まあ動かないだろうなあ…」とか思いながらやってたんですが意外に簡単に動いたので歓喜更新!w

キャリア/機種判別君

現在アクセス中の端末のキャリア/機種名/ブラウザタイプが分かります。

**

とは言っても、php部分は教科書を丸写ししただけなんですが、多分PEARライブラリから情報(Net_UserAgent_Mobile)を引っ張ってきてphpを動作しているのだと思う。
仕組みは良く分からないw

ちなみにロリポップの場合PEARのインストール等々の設定をしなくてはいけないのですが、こちらの参照が非常に参考になりました。

ブラウザからPEARをインストールする - ホリデープログラミング入門 - Yahoo!ブログ

そのまま手順どおりにやればほぼ間違いなくできるかと。
ただ、注意しなくてはいけないのがコメント欄にもあるけどPEARライブラリのURLが変更になってます。

Manual :: マネージャの取得

あと毎度ですが参考文献:PHP×携帯サイト デベロッパーズバイブル
**

うーん、なんか今回は一歩前進した感じがしますねw

何か今回はリンクだらけの記事になってますがとりあえず・・・
携帯サイトPHPシリーズ

Qr_code

| | コメント (0)

PEARで引っかかる(携帯PHP×ロリポ)

日々更新頻度が少なくなっていることが気になって仕方ないこともあるw

まあそれはさておき、携帯PHPシリーズですよ。
早速動作しないという難問に引っかかっているわけですが、あの、何と言うか基本的なPHPの知識がないと先に進まないということも結構ありそうな雲行きでして…

前回はBasic認証で随分とわき道にそれてしまいましたが今回はこちら!

PEAR

これな。

これ、今まで見たことがあったけどスルーしてきたリストに入ってるわ。
MIMEタイプ、とかと同じくらいスルーしてたわ。

というわけで調べてみたら結構分かりやすい回答が…

PEAR(PHP Extension and Application Repository)はPHPで利用する事ができるライブラリ(パッケージ)を提供しているサービス。 PEARはPHPで書かれたライブラリを提供しているが、C言語で書かれた拡張ライブラリ(extension)を提供するPECLというサービスも存在する。
Wikipedia「PEAR」

で、勝手にロリポップには組み込まれているんだろうな、とか、いやもう本当に勝手な創造で申し訳なかったんですがそれを前提に作ってたわけですね。
ところがどういうわけか動かない…

で(2回目)、もしやそれ自体が勘違いなのでは…と思いググってみたらserps見ただけでそれっぽい結果が…

ロリポでPEARを利用しようとして、ちょっと壁にぶちあたった。PHP標準ライブラリPEARは、基本的なパッケージしか入っていない。


ロリポサーバーでPEARを使えるようになるまでにかなり遠回りなことをしちゃって・・・ ロリポップには、基本的なパッケージしかインストールされていなくて


ロリポップで引き続きPEARをいじっていたのだが、どうもPEAR::Cacheがうまく動かない。


ロリポップのPEARを完全に無視して自前でPEARライブラリを構築する準備が整いました。

やはりなんかどうも基本から見直さないと云々。
とりあえずPEARの勉強とインストールしなおしてもう一回やり直して更新する!

| | コメント (0)

ロリポップでBasic認証を設定してみた

「携帯のサイトは端末でアクセスしないと意味がないので、開発環境も原則的にはオープンになってしまう」
「IPで制限するのは厳しい(自社のIPではないため)」
「外部からの侵入を防ぐためにBasic認証を設定するとよい」

というわけでですね、PHPシリーズなわけですが、今回はちょっと例外的にBasic認証シリーズなど。

これが意外と面白いし感動するもので・・・。ちょっとハマったわけなんですが、何かの足しになればと思い記載しておきます。

テーマ「ロリポップでBasic認証を設定」

最初.htaccessと.htpasswdを設定したわけですよ。
参考になったのはこちら!

パスワードによるアクセス制限(Basic認証)の設定:レンタルサーバー Ablenet

(Passの暗号化ツールもあります)

これは意外と簡単、と.htaccessに記述をして、.htpasswdを設置。
そしたら最初に引っかかったのが「ページに入れない」症状。
パス認証の画面が何度もでてくるわけですね。パス入れてもまた送信画面が。

で、ググったら「.htpasswdのフルパスの記述間違えてるんじゃないか?」という説が。

BASIC認証タイプアクセス制限

でもFFTPのパス情報のところ、そのまま記載してるんだけどなあ、とか思いつつさらにググる。

すると

 フルパスはユーザー専用ページのアカウント情報で確認出来ます。

 それ以前に、ユーザー専用ページのwebツール→アクセス制限を使った方が確実に.htaccessと.htpasswdを設置出来ると思います。

#いったん作成したら、.htpasswdへの追加は手動で追加してもかまわないので。(アクセス制限ページ

四の五の言わずにいったんロリポに自動で作ってもらいなさいと。
というわけで、自動で作ってもらいました。

パスワード制による制限 / ホームページ / マニュアル - ロリポップ!

で、出来上がった.htaccessを確認したところ、やはりフルパスの記述が違っていたようです。

【自作】
AuthUserFile /mobile/pass/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret Area"
AuthType Basic
require valid-user

【ロリポ】
AuthUserFile /home/sites/lolipop.jp/users/ユーザー名/web/mobile/pass/.htpasswd
AuthGroupFile /dev/null
AuthName "basic"
AuthType Basic
require valid-user

※AuthNameは適当なネーミングなので無視して可。
※あと設定のところに記載してあるがパーミッションを604に設定せよとのこと。
 パーミッションに関しては分からなかったがロリポに説明ページがあるので勉強する。また更新。つーか知れば知るほど勉強すること多すぎだなw

で、完成!すげえ!w
Basic認証
User「taro」
Pass「momo」

**

■メモ
全然関係ないですが、内部CSS使ってたのですがauのケータイつかってたら真っ白な画面になった…これいかに。

参考図書:PHP×携帯サイト デベロッパーズバイブル

| | コメント (0)

ちょっとだけ.htaccessを学ぶ(htmlでphpを使う)

拡張子htmlでphpって動作しないんだ!(挨拶)

というわけでですね、「10日で学ぶPHP5入門」とか読んどいて、いったいお前は何を見てきたんだ感が満点ですが、気付いたわけですね。

ちょっとモバイルのアクセス解析を設置しようと思ってi2iの解析を使おうと思ったんですよ。
(最初、myRTmobileにしようと思ったんだけど見づらいのでやめといた)

で、index.htmlにphp生成のタグを設置しようとしたらコードむき出し、動作しないんですね。
で、確認したらヘルプにこんなメッセージが。

・「PHPが動作していない場合」にもうひとつ確認   設置したページの拡張子が「.html」や「.htm」など「.php」以外になっていませんか?
その場合でも、ご利用の環境によっては設定を行うことで利用可能になる場合があります。

まず、あなたのサイトをアップしているサーバーの仕様を確認してください。
「PHP」の利用を許可しているでしょうか?

拡張子が「.php」じゃない場合「.htaccess」というファイルの設定によって、「.html」や「.htm」などのファイルでもPHPの利用が可能になる場合があります。 (i2i無料『携帯サイト用アクセス解析』 利用にあたっての注意

ほうほう。
というわけで、先日自分が「万物のマニュアルになる」と宣言したGoogle先生に相談ですよ。

追加するのは下記一行
AddType application/x-httpd-php .htm .html
.htaccessで拡張子.htmlのままPHP実行可能にする:ねこすけのPHP

というか、.htaccessでファイル名設定してこれ記述すればいいだけだから簡単でいいんだけど、この

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

っていうのは何を書いているのかってのを教えて欲しいですよね。
add typeが何を意味するのか、とかそういうの。

というかそもそも.htaccessってなんだとw

**

とりあえず感動したのでエントリーしてみましたw
こうやって勉強して人は強くなっていくのね・・・。

| | コメント (0)

携帯掲示板を作ってみた(仮)

携帯PHPシリーズ。

参考図書:PHP×携帯サイト デベロッパーズバイブル

まあ、まんまソースとか写してるわけなんですが、意外と画期的w


今回はモバイルの一言掲示板を作ってみました。
ソースに関しては上記図書を購入してみてくださいw

掲示板

これ、PCから見ると分からないんですが携帯から見るとちゃんと絵文字まで再現されてるのね。
すげえw(SBの824SHのみで確認)

教本によると、このままの設定では文字化けする可能性があるとの事なのでまた調整していきます。
もし見ている方がいて、不具合等ありましたら、引き続き端末の型/キャリア/症状なんかを教えていただけるとありがたいです!

とりあえず入り口ページはQRコード貼っときます。
Baka1

| | コメント (0)

携帯サイト×PHP

さて。

CSSをしばらく勉強するつもりだったのだがす一通りぐ終わってしまったので、今度は別のものも勉強しようかと。

前回PHPをやって大まかにしか覚えてなかったのでもう一回読み直そうかなと思ったんだけど、本屋歩いてたら「PHP×携帯サイト デベロッパーズバイブル」があったので衝動買い。
立ち読みだけで面白そうと思った。

で、まず簡単なサイト作ってみた。

携帯サイトPHPシリーズ

ここを中心に携帯のPHP技術が展開される…!

PCの方はこちらのQRコードから。
Qr_code


(参照:QRのススメ:作成:URL)

**

さて、まだ何も作ってないのに問題発生。
アクセスしようとしても自分の持ってるSB端末じゃ確認できないんですよ。
docomoの端末で見たら確認できたのにね。

SBの方ならよくあるエラーかと思うのですが

エラーが発生しました。レスポンスが不正です。(WJ46402E)

これな。

で、まあ調べてみた&変更してみたのですが、どうも文字コードの指定などが原因っぽ。
softbank WJ46402Eエラーについて - 教えて!goo

SJISで上記の通り、指定しなおしたら表示確認しました。最初内部CSS外したら動いたのでそれかと思ったんですが・・・ふーむ。

他の端末で確認したら見られないとかあったりするんだろうなあ。

一応現在サイトに設定しているのは下記の通り

・内部CSS(ul{list-style-type:none;})
・うごくひとw
・文字コード:SJIS

不具合があったら端末の種類と不具合症状とか教えてもらえるとうれしいです!

しかし、こういう端末のチェック作業をやるってのは一般の企業だとちょっと難しいよなあやっぱり。

| | コメント (0)

意外な流入

PHP研究室

こっちのドメインの流入見てたら「UserAgent 調べる」とか「ユーザーエージェント 調べる」とかで流入が多かったので、ちょっと追加。

・description
・リンクディスカバリータグ

これでスニペットがもうちょっと綺麗になって、かつ、モバイルからでもUAを調べることができます。

自分の端末のUAを知りたくなったら「UserAgent調べる君」でお願いします!w

**

しかし思いもしないところから流入ってあるもんですね~。しみじみ。
phpはsqlliteを使用するところを通過中。

| | コメント (0)

phpで画像を表現する

久し振りのphp特集です。

というか、水面下で動いてはいたのですが、セキュリティ的に微妙とか(まあよく分からんけどw)そういうのがあったので公開できるものが少なかったわけですね。
あとは単純に動かないとか。

今回久し振りにちゃんと動いたので公開してみようと思います。

適当棒グラフ

資料からコードを見ながら書いてるだけなので詳しい動きなどは把握していないのだが多分下記の通り。

・phpで画像を引っ張ってくる
・php上でグラフデータの調整可能。

ただ、これJpGraphってのを使用したので、純粋に全てが全てphpでグラフを作るってわけじゃないんですよね。

まあひとまずどんどん書いてみて、もう一冊サンプルコード集みたいなのを購入して色々作ってみようと思う。

10日で覚えるPHP入門教室
次回8日目
取り組んでから3ヶ月目w

**

PHP研究室(2)

| | コメント (0)

ゲストブック作ってみた

ゲストブックを作る、の巻。

まだ公開しないので仕組みだけ書いておくと

・POSTで投稿

・ファイルに書き込み

・datファイルに排出

こんな感じ。多分、サッパリ伝わらんw

「10日で覚えるphp5入門」の次章が閲覧できるゲストブックなのでその時に公開。

てか、多分7~8年くらい前に使ってたこの掲示板(fugutiさんのゲストブック:POST先のcgiがなく現在利用できません。)もこれに近い仕組みじゃなかろうか。案外簡単なのねw

ひたすら組んでみることで覚えよう。

**

ちなみにちょっと疑問に思ったこと。

$line =date("Y年 m月 d日 H:i:s")."\t";

これでどうしても「年」が表示されない。
厳密に言うと「2009・ 8月10日」みたいに表示される。

**

datって2chとかでも「dat落ち」とか聞くけど何よ。

読み方:ダット

.datとは、ファイル全般に対して用いられることがある汎用の拡張子である。

一般的に、拡張子の多くは、テキストファイルや画像ファイルといった特定のファイルタイプ、あるいは、特定のアプリケーションソフトに対応している。これに対して、.datは、どのような形式のファイルに対しても付けられている場合があり得る。このため、拡張子が.datであるというだけでは何で開けばよいか判断することは難しい。同じ.datファイルでも、テキスト形式のファイルもあれば、バイナリ形式のファイルもある。
.dat ダットとは:この拡張子のファイルを開くには? - 拡張子辞典 - IT用語辞典バイナリ

ですって!

**

PHP研究室(2)

| | コメント (0)

Syntax Errorを知っているか

実は密かにいくつか作成していたもの。

・メール投稿フォーム

⇒こちらに関しては格闘の末、システムに詳しい人に聞く。
 曰く、「これ、そのままうpするとスパムサーバーが出来るよ」とのこと。
 なのでうpしません。

<form method="POST" action="mail.php">

こういうのを使って、
投稿ページ⇒mail.phpを経由してメール送信
というものだったのですが、

<form method="POST" action="http://(設置してあるドメイン).mail.php">

と、他のドメインに投稿フォームを設置すると、mail.phpを設置しているドメインを経由してバシバシスパムが送信できてしまうという。
なかなか難しいですね~。
ただ組むだけではいけない。

**

・うpろーだー

これも戸惑った。
ひとまず聞きながら無事完成しました。

これもちょっと上げられないですよね。無制限なので。

ところで

Parse error: syntax error, unexpected '!' in /home/sites/************/php/ups.php on line 8

こういうエラーが出たのですが、ググッたところ下記が。

Parse errorというのは構文解析時点のエラーです。Syntax errorともいいます。
これは"()"や"{}"の対応があっていなかったり、引用符を閉じ忘れたり、文末の";"を付け忘れたりといった場合に起こります。
phpエラーについて - 教えて!goo

ということだったので「予期せぬ『!』が8行目にあるよ」ということで「!」を撤去して完成。

しかしイマイチルールが分かってない・・・

| | コメント (0)