任意の複数の引数を渡すことができるPHPの関数のうち、よく使うもの。 isset <?php if (isset($foo, $bar)) { // 複数の値を渡すことができる } if (isset($foo) && isset($bar)) { // こう書くのと同じ } ?> 複数の引数を渡した場合の戻り値は、それぞれの値をisset関数に渡した戻り値をAND結合した結果と同じ。 mb_convert_variables <?php mb_convert_variables( 'UTF-8', 'SJIS-win', $get_params, $post_params); ?> 複数の引数を参照渡しすることができ、引数は配列であってもそうでなくてもかまわない。ただし、引数の中に異なる文字コードを組み合わせて渡すことはできない。
PHP Security Blogでpreg_matchをフィルターとして使用する際の注意点について言及されています。 以下のような$_GET['var']をフィルタリングするスクリプトを考えます。 <?php $clean = array(); if (preg_match("/^[0-9]+:[X-Z]+$/", $_GET['var'])) { $clean['var'] = $_GET['var']; } ?> <?php $str_list = array( "OK" => "1234:XYZ", "OK_EOL" => "1234:XYZ" . PHP_EOL, "NG_1" => "1234:XYZ" . PHP_EOL . "aaa" ); foreach ($str_list as $k => $v) { if (preg_match("/^[0
某DBにて、動画を登録中。 各検索にて検索した場合、画像ならば元画像を縮小した、サムネイルを表示していたが、動画の場合、「動画ですよ」という共通の画像を代替え表示していた。 しかし、この度、ffmpegを使うことで、動画のサムネイル(1フレームを切り出して、静止画に)化に成功。 それだけだと面白くないので、切り出したフレームに、動画のサムネイルであることを視覚的に伝えるために、よくあるメタファとして、フィルムのフレームを合成することにする。 切り出したフレームが、 とする。これに、 を合成して、 を生成する。 そのサンプルソースを恥ずかしげもなく公開。 ※ffmpegが動作する環境であること ※ffmpegその他ファイルのパスは自分の環境に合わせて変えてください // // 事前にDBから情報を取得しておく。 // xxx.flvから、10秒目のフレームを1フレ取り出し
インストール手順 (スーパーユーザーで作業) # gzip -dc zlib-1.1.4.tar.gz | tar xf - # cd zlib-1.1.4 # ./configure (ダイナミックライブラリを作りたければコマンドラインオプション --shared を指定しておく) # make # make install # gzip -dc libpng-1.2.7.tar.gz | tar xf - # cd libpng-1.2.7 # cp scripts/makefile.OS Makefile (OS は、インストールする OS のタイプを指定:linux, solaris ...) # make # make install # gzip -dc jpegsrc.v6b.tar.gz | tar xf - # cd jpeg-6b # ./configure --ena
(Last Updated On: 2006年1月3日)珍しくサニタイズという考え方自体が間違っているという意見を見ました。 私もサニタイズと言う考え方はNagative Security(禁止事項を定義する考え方)からの発想なので、Positive Security(許可する事項を定義する考え方)でプログラムを作るべきと考えていますし、あちらこちらで言っています。この高木さんのブログのでは、デフォルトのコーディングスタイルではサニタイズを考えなくても良いようにする事、と意見されているだと思います。いちいち意識しなくても良いようなスタイルの方が間違いが少なくなるので良いことだと思います。 # Googleで調べるとNagative/Positive Securityの方がよく利用され # ていることが分かりますが、個人的にはNagative/Positive Security # と言って
Tired of guessing how many words or characters are in a string of text? One easy solution to this problem is a new online tool for calculating string length called strlength.com. Just input in a string of text, and it will calculate the precise number of characters, words, sentences and even paragraphs within that string. It is simple and intuitive to use, and best of all, it is completely free. A
New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
サンプルは、EXPERIENCEで実際に確認できるようにしてますので、気になる方は見てみてください。 以前にPHP4+PEAR SOAP+Google Web APIsでGoogle検索とかPHP5のSOAP extension+Google Web APIsでGoogle検索といったSOAP Clientとしての使い方を確認してきましたが、「Clientと来ればServer」ということ(?)で今度はSOAP Serverを試してみます。PHP5.0.0で導入されてまだ枯れていない(と思われる)extensionですが、2005/06/10にリリースされたPHP5.1.0β1でもかなりの修正がされているようですので今後が楽しみです。 SOAPServerに関してのドキュメントは、やはりPHP日本語マニュアルを参照してください。 今回のサンプルですが、次の4つのサービスを提供するSOAP
I wrote the following to see if a submitted URL has a valid http response code and also if it responds quickly. Use the code like this: <?php $is_ok = http_response($url); // returns true only if http response code < 400 ?> The second argument is optional, and it allows you to check for a specific response code <?php http_response($url,'400'); // returns true if http status is 400 ?> The third all
[2005/12/31]Xdebug2.0.0beta5がリリースされています。PECLのページからどうぞ。 PHPでちょっとした規模の開発を行っていると当然ユーザー定義関数やクラスが増えてきて、だんだんでバッグがしにくくなります。構文エラーとかは問題ないのですが、例えば何らかのDBアクセスクラスを使ってSQL文を実行してエラーが発生したとき、PHPが表示してくれるエラー発生行番号はあくまでDBアクセスクラスの行番号になってしまいます。また、条件によってSQLを組み変える場合など、最終的にどの様なSQLを実行したのか <?php echo $sql; ?> などとして表示させないと分からなかったりします。 PHP4.3.xならdebug_backtraceとtrigger_errorで実装できるだろうということは分かっているのですが、PHP本体でどうにかならないかなぁ。。。と思って調べてみ
(Last Updated On: 2018年8月16日)追記:このエントリは古い情報です。今のHTMLエスケープの情報は以下の新しいエントリを参照してください。 PHPのHTMLエスケープ PHP_SELFはそのまま出力できないに htmspecialchars($str, ENT_QUOTES); じゃなくて、 htmspecialchars($str); で終わらせてしまった場合の、 問題例が非常に欲しいです!! とコメントを頂きました。 htmlspecialcharsとhtmlenties関数はENT_QUOTESを指定しないとENT_COMPAT(セキュリティ上問題があるが互換性を維持)が指定された状態と同じ動作をします。 ENT_QUOTESは”と’の両方をHTMLエンティティに変換するオプションです。ENT_COMPATは”のみHTMLエンティティに変換します。 JavaS
(Last Updated On: 2018年8月13日)最近のPHPはE_ERROR(未定義の関数呼び出しなどで発生)をユーザ定義エラーハンドラで処理できません。これはE_ERRORが発生した場合、必ずeixtを呼び出しスクリプトの実行を停止しないと誤作動する問題に対処した為です。 随分前(PHP 4.3がリリースされた頃)からこんな感じでパッチを書けばよいです、と紹介はしていたのですがWikiに書きました。よろしければご利用ください。ユーザ定義エラーハンドラに問題(E_ERRORが発生する等)が無ければE_ERRORでexitすれば問題は発生しないはずです。万が一、関数名をタイポしていてもエラーページを表示しwebmasterに通知する処理などをエラーハンドラに定義できるので有用です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く