カテゴリー別アーカイブ: PHP

スマイルサーバプラン移行後、allow_url_includeがOnできなくなったら

スマイルサーバがver2,3からver4にプラン移行するにあたり、データを移行してくれたのですが、includeを利用して表示していた画面が表示しなくなりました。

単純にソースを書き出したphpをincludeして表示させていた仕組みで、今更アウトプット部分の処理を変更するのも、面倒なので、今までのようにincludeを使えないかと調べました。

php.iniでallow_url_includeをOnにしてみる

まずは、php.iniを利用して、allow_url_include = ONにしようと思ったのですが、今までのサーバでは「data」フォルダに「php.ini」を入れるだけでいけていました。

しかし、今回は「.user.ini」というファイル名を入れなければならないようです。しかも、allow_url_include = ONはできない(※スマイルサーバに問い合わせていただいた回答です)

includeの代替案

参考URLを教えてもらったので、
allow_url_fopen と allow_url_include
試しましたが、うまくいきませんでした。

どちらかというとうまくいったのは

PHPのallow_url_includeでinclude()の代替案

でした。cURL関数を利用しました。

 

Warning: proc_open() has been disabled for security reasons

サーバ側で、proc_open()の使用が禁止されているようです。

sakuraのサーバだとすんなり行ったので、油断してました。

ちなみに利用したのはSpeeverのサーバです。

検索にひっかかったのはDrupalのページだけど

proc_open() has been disabled for security reasons in /home/ahbekker/public_html/drupal/includes/image.imagemagick.inc

php.iniで制御できるっぽい。

 

mysql_の関数とPHPのバージョン注意。

PHP5.3からPHP5.5になっ(て)たサーバで、

mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli

エラー発生。

mysqli_connect(): にしなさいよということのようです。

【PHP】関数 mysql_… を mysqli_… へ書き換える。

を参考に変更。このとき、「host」と「ポート」を分けることに注意。今までは「host:ポート」だったんですが、ポートは別に必要なのですね。

mysql_で始まる関数は、「mysqli_」に変えたほうがよく(たぶん変数の型が変わっちゃうから、接続を変えたら、次のデータ取ってくる部分とか、データを回すところとか全てに「期待している型と違うんですけど!」というエラーが出ます。

その際、変数の順番も変わることもあるので、エラー文章や関数のマニュアルをよく確認することです。

Warning: mysqli_query() expects parameter 1 to be mysqli, null みたいな「パラメーターが違うんだけどー」というエラー。

 

あと、今回出たのは

「Strict Standards: Non-static method」というエラー。

PEARなどでstrict standards non-static method pearとでるときの対処方法

を参考に、staticの宣言を見直しました。

 

こんなエラー、まだ出てくるかもねぇ。さすがに、cakePHPから外れたところのエラーだったので、まだ私にも直せませたが……。なおらなければどうしようかと思った。

とにもかくにも正規表現

正規表現サンプル集
http://www.megasoft.co.jp/mifes/seiki/index_s5.html

すぐ使える!正規表現サンプル集
http://hodade.adam.ne.jp/seiki/

サルにもわかる正規表現入門
http://www.mnet.ne.jp/~nakama/

PHPの正規表現 (regular expression)
http://so-zou.jp/web-app/tech/programming/php/grammar/data-type/string/regular-expression.htm#no3

WordPressでスマートフォン表示時の投稿記事内画像をテキストリンクに置き換える方法

[PHP]携帯サイト用にIMGタグをAタグへ変換する。

HTML内の参照画像パスをPHPの正規表現を使って取得しましょう
http://marunouchi-tech.i-studio.co.jp/350/

 

簡単だと歌われようが、何をしようが、さっぱりわからん。
パズルのようだと思う。

そして、これで何がしたかったかというと、後ろの3つぐらい見てもらったら察してもらえると思う……。

でも、すべてが全て画像リンクにしたかったわけじゃないんだ!

WPのメディア機能使っているのは、サムネイルが出来てるからサムネイルに大きな画像をリンクという置換を。
バナー画像みたいに使ってるのは、alt抜き出して、外部リンクをはり、
リンクもなーんも貼られていない画像だけ、altがあるならaltの内容をピックアップして、画像にリンクを貼る。

そんなこんなをやってたら、
ものすごいスクリプトになってしまった……。

美しくない。

公開するなら、美しくしてから……。

数年たつけど、正規表現は本当未だにわからない。一日一個勉強するぐらいの気持ちでないと、頭が毎回リセットされてしまうし、本当苦手や……。

サイトをiPadで見ると写真が横になる件

PCで見ると普通なのに、iPadで見ると写真が横になる
どうも写真に埋め込まれたExifの「縦」などの情報を読み込んでくれているようです。とりあえずそれをアプリケーションなどで削除したらよいのですが、プログラムでファイルアップのときにする方法がないかなと調べていました。
とりあえずそのページをメモメモ。また実装してみてから詳しいことを書きます。

第22回「デジカメ画像のExif情報を消す方法」
写真のEXIFデータを削除するスクリプト

コンテンツ更新プログラムのtextareaの中が崩れて……

コンテンツを更新できる更新プログラムを作っていて、
コンテンツを丸ごと更新できるフォーム(<textarea>)内に、
コンテンツのフォームソースを入れると、
途中で更新プログラムのソースと、まじってしまって、再編集時にレイアウトが崩れるわデータは登録できないわ……。という状態になりました。

データベース内で”の前に円マークが入ってないのかなと思ったけど、その処理ミスではなくて。

TEXTAREA要素が…。 [WEBアプリ]
を参考にさせていただきました。

<textarea name="data" id="data" cols="45" rows="50" >{{$data}}</textarea>

<textarea name="data" id="data" cols="45" rows="50" >
{{$data}}</textarea>

と、<textarea>の後に改行してやるだけで治りました。

管理画面で住所を入れたら緯度経度取得その2

いろいろと参考にさせていただいて、自分なりに作ってみたのです。
やりたいことは
1.「住所」に住所が入っている場合、「▲上に記入した住所から緯度経度を取得」をクリックすると、その緯度と経度が自動的に入って、マーカーもその地点にうつる。
2.マーカーの場所が違う場合は、地図を直接クリックする。クリックした場所の緯度と経度が入る。マーカーと地図の中心点もそこに移る。
3.編集の場合は、前のときに入れた緯度と経度の場所が地図に表示される。そして、1や2を行うことができる。

javascript(※新規登録と編集と兼ねているので、編集用フォームに「値があったら」の処理も入ってます)

続きを読む

管理画面で住所を入れたら緯度経度取得

今まで、緯度と経度を管理画面の「緯度」「経度」というところにわざわざ入れてもらう仕様にしていたのですが、住所を入れたら自動取得ってことをしたいなぁと思い、調べ中。

いいところを発見したので、メモ代わりに投稿しておきます。

Google Maps JavaScript APIプログラミング

ありがとうございます。

参考URL追記

http://code.google.com/intl/ja/apis/maps/documentation/javascript/reference.html#LatLng

CKEditorを入れてみる

WYSIWYGエディタのCKEditor
FCKEditorの跡継ぎバージョンというか、なんというか。
導入はFCKEditorよりも簡単だった。class=”ckeditor”に目がけて出るようになってるのかなぁ。

参考サイトは
CKEditor 使い方(@とりあえず作ってみます

必要なものだけ、というのが一番ありがたかったりしました。
ckeditor.js
/adapters/
/images/
/lang/
/plugins/
/skins/
/themes/

ただ、「htmlファイルでconfigs.jsを読み込んだ後に」というのは、「ckeditor.js」の間違いではないかなぁと思ったり……。config.jsを読み込んでも表示しなかったです。

あとは CKEditor 設定編 を参考に設定します。ありがとうございます。

更新ping機能を追加するために読んだページリスト

更新pingの機能を追加するために、読ませていただいた(多謝)ページのリストを残しておきます。

流れとか仕組みとか

更新Ping 送信方法

ブログの更新PingやらXML-RPCやらweblogUpdates.ping

RSSを配布せよ!

スクリプトとか

更新Pingの送受信 (簡易版)

PHPで更新Pingの送信(PEARが必要)

更新Ping(weblogUpdates.ping)をphpで送信する

【php】更新Pingをphpで送信する(weblogUpdates.ping 引数3つ)xmlrpc_encode_requestは、自己責任で使用とあるので注意)

PHPで更新pingを送信する

XML-RPC

XML-RPC 仕様書