ドットインストール代表のライフハックブログ
いきなりPHPなネタですが。 マッシュアップ系のサービスを作っていると、指定されたURLのページタイトルを取得したい時が頻繁にあります。そんな時、いわゆるスクレイピングしてタイトルを抜き出すんですが、近頃たくさんでまわっているスクレイピングツールやら、ライブラリやら使わなくてもページタイトルくらいは抜き出せるんで、簡単なサンプルを書いてみる。 <?php /** * ページタイトルを取得する関数 */ function getPageTitle( $url ) { $html = file_get_contents($url); //(1) $html = mb_convert_encoding($html, mb_internal_encoding(), "auto" ); //(2) if ( preg_match( "/<title>(.*?)<\/title>/i", $html,
October 2, 2008 – 2:42 pm PHP5でウェブアプリケーションやウェブサービスの開発をする際、Zend Framework(ZF)が役に立つ、強く推奨されるとの話を聞いた(Google Web ServiceのYou-tube上のデモだったと思う)。早速、我がサーバにも、これをインストールすることにし、マニュアル(プログラマ向けリファレンスガイド)を読んで見ると、その「1.2 インストール」の冒頭に、 Zend FrameworkはPHP 5.1.4以降でないと動作しません。しかし、Zendとしては5.2.3以降を使うことを強く推奨します。というのも、5.2.3より前のバージョンと比べて安全性やパフォーマンスが劇的に向上しているからです。 と記述されている。これを受けて、我がサーバもPHPバージョンを最新の安定版5.2.6にアップグレードすることにしなければ、と作業を
centos5.3にphpmyadminを入れようとしたら、without-mysqlでビルドされたphpパッケージで動かなかったため、ソースからインストールすることにした。 php5.2.10のインストール yumで入れたphpを削除 $ tar zxf php-5.2.10.tar.gz $ cd php-5.2.10 $ ./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --build=i686-redhat-linux-gnu --target=i386-redhat-linux --cache-file=../config.cache --datadir=/usr/share --host=i686-redhat-linux-gnu --includedir=/usr/include
phpをソースからインストールするときのmakeで collect2: ld returned 1 exit status make: *** [sapi/cli/php] エラー 1 というエラーが出て、かなりググっても目的の情報にたどり着けなかったので、 メモしておきます。 ld.so.confファイルを修正 #vim /etc/ld.so.conf include /usr/local/lib/*を追記 修正ファイルを反映 # /sbin/ldconfig を実行 phpのコンパイル時に、オプションを追加 --with-iconv=/usr/local これでmakeが通り、インストールできました ちなみに OSはCentOS5.2 phpは5.2.6 apacheは2.2.9でした
準備 Apacheのコンパイル モジュール版のPHPを組み込めるようにApacheをコンパイルしてインストールします。 [root]# ./configure --enable-modules="so ssl rewrite" [root]# make [root]# make install 以上でApacheが/usr/local/apache2にインストールされました。 ライブラリの確認 グラフィック関連のライブラリ(プリインストールされているもの) gd-2.0.33-9.4.el5_1.1 gd-devel-2.0.33-9.4.el5_1.1 libpng-1.2.10-7.1.el5_0.1 libpng-devel-1.2.10-7.1.el5_0.1 libjpeg-devel-6b-37 libjpeg-6b-37 freetype-devel-2.2.1-20.el
WEBでガントチャートが使えるPHPの進捗管理ソフト「PhpCollab」 http://sourceforge.net/project/showfiles.php?group_id=46510 DL先 phpcollab-2.5 rc 3 が日本語に対応しているがメールとガントチャートの文字化け対策がうまくいかず挫折 http://journal.mycom.co.jp/column/yetanother/061/ 文字化け対策はここがくわしい http://sourceforge.jp/projects/phpcollab24jaここで2.4日本語対応版を落とす mtxc1kp.ttcというファイルがないみたいだ。探した↓ http://www.motoya.co.jp/ (ユーザ登録が必要です。) ここで適当なフォントを落として名前を「mtxc1kp.ttc」に変えて phpcoll
htmlタグのプルダウンメニューを簡単に作成します。 特に年月日を入れるときに役に立ちます。 年 月 日 もっと簡単に記述してみました。関数を作っておけばもっと楽!下記は上記と同じ物です。 年 月 日 {$i}"; } } ?> 引数を増やして初期選択値を付け加えました。3番目の値が初期値です。 年 月 日 {$i}"; }else{ echo "{$i}"; } } } ?> さらに$start値を倍数増やしていく方法です。2だったら2,4,6,8,10,12,14…. {$i}"; }else{ echo "{$i}"; } } } } ?>
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
PHPからMySQLに登録されているテーブルをバックアップしたいと思います。 それで以下のようなコードを書いたのですが、実行されません。 $sql = "mysqldump table_name > 'c:\backup.sql' -u root -p aaaa"; $res = mysql_query($sql,$conn); ※「table_name」は、バックアップしたいテーブル名です。 コマンドブックを見ると、ユーザ名やパスワードも入れるので、 PHPからは実行できないのかな?っと思っているのですが、もし可能ならご指摘、修正お願いします。 【テスト環境】 php5.2.0 MySQL4.0.26 WindowsXP上のApache2.0.58でテスト
PHPである日付から次の日、前の日を取得する方法です。 次の日を取得する場合は、こんな感じで。 $year = "2007"; $month = "7"; $day = "24"; echo date("Y-m-d", mktime(0, 0, 0, $month, $day+1, $year)); >2007-07-25 まだまだこういうコード減らないのね. $ php -r 'var_dump(strftime("%Y-%m-%d", strtotime("-1 day", strtotime("2007-07-24"))));' string(10) "2007-07-23" $ php -r 'var_dump(strftime("%Y-%m-%d", strtotime("+1 day", strtotime("2007-07-24"))));' string(10) "2007
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
乱数生成 PHPで用意されている関数を使う一番簡単な方法です。 <?php $ran1 = mt_rand(); // 引数なし $ran2 = mt_rand(0, 10); // 0~10までの乱数値 $ran3 = mt_rand(100, 500); // 100~500までの乱数値 ?> ランダム文字列生成(文字コード利用) a-z,A-Z,0-9 を使ってランダム文字列を生成します。(今回は10桁) もし文字のみ、数字のみのランダム文字列(乱数)を生成したい場合は、 mt_rand() のASCII文字コードの部分と if文 の部分を変更してやるといいです。 <?php for ($i = 0, $str = null; $i < 10; ) { $num = mt_rand(0x30, 0x7A); // ASCII文字コード if ((0x30 <= $num && $
ファイル操作 ファイル操作の基本 新しくファイルを作成して書き込むには、ファイルを作って開き内容を書き出してファイルを閉じます。 $ファイルハンドル=fopen("ファイル名","モード"); この間でファイル操作を行う fclose($ファイルハンドル); ファイルを開くにはfopenを使います。 ファイルを閉じるにはfcloseを使います。 ファイルハンドルはファイルを表します。 ファイル名には開きたいファイルの位置(ディレクトリ・フォルダ)とファイル名を記述します。 モードには読込や書込の指定を記述します。
PHPの経験がある人ならばデータベースを扱うのにPHPを使用したことがあると思います。多くの場合、データベースはデータの収集と解析を目的とした柔軟性のある情報ストレージとして使用され、開発者のコミュニティで一般的によく使用されています。多くの一般的なツールでは、1つの問題に対して多くのアプローチがとられますが、データベースシステムでは標準機能の違いはほとんどありません。 情報を扱う理想的な方法として、いくつものデータベースシステムが競合しています。数百万人の開発者が使用しているPHP言語では、1人の開発者も取り残されないようにこれらのデータベースエンジンの大部分をサポートしています。 PHPでのデータベースのインタフェース開発は、理想的なデータベースとの通信方法を考え抜いた初期設計の通りには完成しないことがほとんどです。というのも、開発者が馴染みのないデータベースにPHPを接続させなければ
はじめに PHP界隈では現在、PHP 4からPHP 5への移行が進んできており、ここ最近ではPHP 5の機能を活用したフレームワークも多く出てくるようになりました。 PHP 5は、PHP 4に比べオブジェクト指向のサポートや速度面での向上などが取り上げられる中、最も注目すべき点であるデータベースへのアクセスを抽象化したレイヤーとしてPDOが登場しました。 今回はそのPDOに注目し、サンプルを交えてPDOの使い方を紹介します。 対象読者 PHP 5を使ったことがある方 以前PEAR::DBなどを用いてデータベースを使ったアプリケーションを作成したことのある方 必要な環境 PDOはPHP 5.1から標準で導入されるようになりました。Windows/UNIXを問わず利用することができます。よってPHP 5.1の環境と、PDOの動作に必要なデータベースの構築を行ってください。 PDOとは PDO(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く