中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

PHP

クロスドメイン(CORS:Cross-Origin Resource Sharing)問題の回避方法。PHP。

PHP

画像ファイルを別サイトから取り込んでcanvas処理をしようとして、クロスドメインにひっかかった。 file_get_contents()を使うことで回避できた。別ページにURLを渡して、file_get_contents()で読み込んだものを返してやる。 詳細は以下のブログで。

シンプルなHTMLカレンダー。Google Calendar API v3で祝日表示。

シンプルなHTMLカレンダーを作成。祝日表示に「Google Calendar API v3」を使用。 詳細は以下のブログ。

はてなブログ、はてなフォトライフの写真一括バックアップ/ダウンロードツール修正。

PHP

「はてなブログ」や「はてなフォトライフ」の 写真、画像を一括してバックアップ(ダウンロード)するツールを1月17日にリリースしたが、今日試したところ、正常動作しなかった。 調べてみたら、「はてなフォトライフ」の各画像表示HTML内の画像リンク先がht…

はてなブログ、はてなフォトライフの写真一括バックアップ/ダウンロードツールを作成。

PHP

「はてなブログ」や「はてなフォトライフ」の 写真、画像を一括してバックアップ(ダウンロード)する方法を探したが、無いわけではないが手間がかかりそうなものが多かったので、作成してみた。 以前に作った「MyHome Portal」の一部ツール「HTML URL抽出 &…

Windows10にMyHome Portalインストール

PHP

小型Windows10パソコン「LIVAX2-4/64-W10」を購入したので、MyHome Portalをインストールしてみました。 XAMPPは、以下のサイトから、バージョン1.8.3を使いました。 http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/ 最新のバージョンでは、…

Ver.6.12:INDEX検索ボタン変更他

PHP

MyHome Portal Ver.6.12をリリースしました。 http://ok2nd.web.fc2.com/download.html 「メモ」等の添付ファイルのダウンロードで、ファイル名の頭のID番号を付けないように変更しました。aタグのdownload属性(download="ファイル名")を使っていますので、H…

Ver.6.11:Google Maps API V3版 修正

PHP

MyHome Portal Ver.6.11をリリースしました。 http://ok2nd.web.fc2.com/download.html 「Google Maps API V3版」の「探す」結果マーカー位置を少し修正。 「Google Maps API V3版」のレストラン等の場所検索で、レストラン名等に&が含まれているとマーカー…

PHPのタイムゾーンがTokyoになっていない場合

PHP

XAMPPのバージョンによって、PHPのタイムゾーンがEurope/Berlinになっている事がわかりました。 http://mawatari.jp/archives/time-adjustment-of-xampp-php この場合、Asia/Tokyoに修正する必要があります。 タイムゾーン設定値は、 http://localhost/xampp…

Ver.5.19:セッション・スコープをアプリ内に限定

PHP

MyHome Portal Ver.5.19をリリースしました。 http://ok2nd.web.fc2.com/download.html セッションとクッキー(Cookie)のスコープ(範囲)を、"/"から、アプリケーション範囲(標準では"/_myhome/")に変更。 アプリケーション名は、explode('/', $_SERVER['SCRIP…

PHP5.4:htmlspecialchars非互換仕様変更

PHP

PHP5.4.0から、htmlspecialchars関数のデフォルト文字エンコーディングがISO-8859-1(Latin-1)からUTF-8に変更されるとのこと。 ≪PHP5.4のhtmlspecialcharsに非互換問題≫ http://blog.tokumaru.org/2011/11/php54htmlspecialchars.html PHPって、結構簡単にこ…

PHP,Python,JavaScript,jQuery スニペット集

PHP

PHP、Python、GAE(Google App Engine)、JavaScript、jQuery、HTML、CSS、MySQLの基本的なスニペット集(サンプルコード集)を作ってみました。 Google App Engine上で作成して、独自ドメインを割り当ててみました。 http://memo.ok2nd.biz/ キーワードで、検索…

Ver.4.01:パスワードをhash()で暗号化

PHP

MyHome Portal Ver.4.01をリリースしました。 http://ok2nd.web.fc2.com/download.html パスワードをhash()で暗号化してからCookie保存するようにしました。 ツール「テキスト縦書き表示」をChromeでも使えるようにしました。ツール「テキスト縦書き表示」で…

Ver.3.28:mb_convert_encoding()

PHP

MyHome Portal Ver.3.28をリリースしました。 http://ok2nd.web.fc2.com/download.html mb_convert_encoding()で、変換前の文字エンコーディングに'auto'を指定した場合に、正しく変換がされないケースがあるので、 define("MB_CONVERT_ENCODING_AUTO", "ASC…

XAMPPのバージョン

PHP

MyHome Portal 3.26で、PHP 5.3.xでエラーが出てしまう問題の対策を施しましたが、XAMPP 1.7.2以降では、PHPのバージョン以外にも大きく変わっているようです。インストーラが日本語対応になっていません。MySQLのバージョンの違いなのか、MyHome Portalのデ…

Ver.3.26:PHP5.3仕様変更対策

PHP

MyHome Portal Ver.3.26をリリースしました。 http://ok2nd.web.fc2.com/download.html PHP5.3.?の仕様変更により、「Undefined index」や「Call-time pass-by-reference has been deprecated」等のエラーが出てしまうようなので、とりあえずの対策としてエ…

PHP:多次元配列ソートと配列要素の削除

PHP

PHPには、便利な関数が豊富にあります。 Ver.2.47で、アルバムの画像の表示順序をファイル名順と更新日時順が選択できるようにしました。 また、表示順序がファイル名順の場合、Windowsエクスプローラと同じくアルファベットの大文字/小文字を区別しないで並…

Ver.2.35:XAMPP 1.7.2デフォルト値変更対応

PHP

MyHome Portal Ver.2.35をリリースしました。 http://ok2nd.web.fc2.com/download.html XAMPP 1.7.2で「short_open_tag」のデフォルト値がOffになったことへの対策として、_myhome直下に「.htaccess」を置き、「php_flag short_open_tag On」を記述しました…

アップロードファイル名にシングルクォートの不具合

PHP

MyHome Portalの掲示板、メモ等でアップロードファイル名にシングルクォート(')が含まれている場合は、ファイル名が化けるなどの不具合が発生します。 $_FILES['パラメータ名']['name']が既に化けてしまっているようなので、回避策がわかりません。 解決策ご…

Ver.1.64:preg_split()利用箇所の不具合修正

PHP

MyHome Portal Ver.1.64をリリースしました。 http://ok2nd.web.fc2.com/download.html 不具合修正です。Ver.1.63で、PHP5.3.0以降非推奨の関数split()をexplode()に置き換えましたが、正規表現を使っている箇所ではpreg_split()に置き換えました。しかし、s…

PHP正規表現のe修飾子

PHP

Ver.1.52のカレンダーのGoogle地図、Google経路検索連携で、preg_replace正規表現のe修飾子というのを使っています。(正規表現はCSS以上に苦手なので、これが最善かどうかわかりません。) preg_replaceの部分のみ、下に抜き出しておきます。(改行を入れて…

自宅PCに、Webサーバーを立ち上げてみませんか。

PHP

MyHome Portal インストールガイドを作成しました。 http://ok2nd.web.fc2.com/install.html XAMPP (Apache/MySQL/PHP) のインストールから、MyHome Portal 実運用環境設定までの手順を説明しています。 自宅PCに、Webサービスを立ち上げるのは結構簡単で…

オブジェクト指向を隠蔽

PHP

myHome Portalの携帯端末スケジュール表示では、携帯用アプリの開発ツールキットHAWHAWを利用しています。 HAWHAWは、オブジェクト指向を使ったクラス・ライブラリーとして作成されています。 myHome Portalの携帯端末スケジュール表示のメインソース(_mobil…

ソースコード整形表示のファイルマネージャー

PHP

MyHome Portal 「ツール」の「PHP/JavaScriptソースコード整形表示」では、 ファイルマネージャー的な機能も付けていて、サーバーローカルのフォルダ名やファイル名の一覧表示ができるようにしていますが、ファイル名は特定の拡張子 ・php、js、css、html、h…

LinuxやMacでMyHome Portal使えますか?

PHP

LinuxやMacでMyHome Portalを試された方、いらっしゃいますか? インストールや環境設定、動作状況など、情報をいただける方、お願いします。

MyHome Portalインストール後の環境設定について

PHP

実運用される場合は、「/_myhome/__common__/__define_common.php」の代わりに、別定義ファイルを作成することをお勧めします。 そうすれば、新しいバージョンを_myhome以下丸ごと上書きしても、自分の運用環境やデータをそのまま引き継げます。 私の場合、…

PHPのShift-JISの文字化け対策どうしてますか?

PHP

「MyHome Portal」は、UTF-8で作成していますが、PHPを始めた頃はShift-JISで開発していました。 Shift-JISの場合、「表予申能十ソ試時事私」などが文字化けてしまう問題に遭遇し、苦労しました。ネット上で回避策を探したのですが、見つけられませんでした…

Ajaxのセキュリティ警告の画期的な回避策?

IEの標準のセキュリティレベルで、自宅のPCからAjaxでインターネット上のWebサービスにアクセスすると「このページは、制御範囲外の情報にアクセスしています。セキュリティ上の問題がある可能性があります。」という警告が出てしまいます。FirefoxやGoogle …

PHPの連想配列は便利

PHP

PHPの連想配列は便利です。最近の言語では連想配列が使えるのは当たり前だとは思いますが。 MyHome Portal では、ページ分割有りの一覧表形式ページ作成用の共有ライブラリを用意しています。 データベースのテーブルを一覧形式でページ表示するには、 mp_li…

PHPの最大のメリットは、HTML埋め込み型コーデイング

PHP

PHPの最大のメリットはHTMLの中にインライン(埋め込み型)でロジックをコーディングできることだと思っています。 最近流行のMVCやフレームワークの考え方に反しますが、1人で小規模のプログラムを作成するには、MVCは面倒です。私にとっては、1つのファイル…

ページング付の一覧形式のページを簡単に作成できる

PHP

MyHome Portal では、ページ分割有りの一覧表形式ページ作成用の共有ライブラリを用意しています。 データベースのデータを表形式で表示したり、編集できるページを簡単に作成できます。 基本的なページであれば、実質のロジックは、 10ステップほどで出来ま…