Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
新年あけましておめでとうございます。今年もボチボチやっていきます。 本稿ではPHP製のWebスクレイピングライブラリGoutteを紹介します。 Goutte(グット)とは Goutteは必要十分な機能を持ったWebスクレイピングライブラリです。そもそもWebスクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。 具体的には、GoutteはWebクローラとHTMLパーサを組み合わせたようなものです。Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし、CSS風の要素指定もできるなど、機能面では他のライブラリと遜色ないように感じます。 さらに僕個人がGoutteに期待している点は、安定性とロングサポートです。Goutteは主要機能をSymfony2お
WordPressにちょっと機能を追加したい時に役立つスニペットをまとめたサイトを紹介します。 目的をもって探すだけでなく、こんなこともできるのかという発見もあるかもしれません。 WPSNIPP – 500+ WordPress code snippets for your blog [ad#ad-2] WPSNIPPでは現在、545個のWordPressの便利なスニペットが登録されています。 下記にほんのちょっとだけ、その便利なスニペットをピックアップしました。 よく使うショートコードをボタンから選択可能に 特定のページのみ特定のスタイルシートを適用 アーカイブウィジェットの表示期間を制限する Google+1ボタンを設置する プラグインを管理画面を使わずに停止する CSSファイルのキャッシュを防止する 大切な「wp-config.php」を守る よく使うショートコードをボタンから選択可
28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には
どーもどーも。最近めっきりネタストックの出来ていないマイペースたんです。 この記事は12/1~12/25の期間、毎日ブログ記事を数珠つなぎにしていく「WordPress Advent Calendar」の第19日目として書いております。 18日目の@kamiyamさんから引き継いでの記事でございます。 とはいえ、最近これはいいなぁと思ったネタはもうすでに先月書いてしまったし、V3.3はまだ全然触れてないし、最近理解を新たにしたループについての話はkzさんがさらっとスマートに書いてしまっていたりで、、、困った困った。でも考えました。 ここ最近、ありがたくも自サイトからWordPress関連のちょっとした作業依頼をいただく機会が増えました。 ご依頼内容としては、「デザインやプレーンなサイト構築についてはこなれているけれど、どうもWordPressに組み込んだ時に言うことを聞いてくれないからなん
第3引数を指定していない場合の影響前述のように、htmlspecialchars関数の第3引数を指定していない場合、PHP5.3までは、文字エンコーディングがISO-8859-1が指定されたとみなされます。この場合、入力内容にかかわらず不正な文字エンコーディングと判定されることはありません。したがって、文字エンコーディングのチェックが働かない代わりに、エラーになることもありませんでした。 これに対して、PHP5.4の仕様により文字エンコーディングがUTF-8とみなされた場合に、Shift_JISやEUC-JPの2バイト文字が入力されると、高い確率で「UTF-8として不正」というエラーになり、htmlspecialchars関数の出力は空になります。つまり、プログラムが正常に動作しません。 htmlspecialchars関数の第3引数を指定しておらず、内部文字エンコーディングがShift_
The MobileESP Project: Easily detect mobile web site visitors About MobileESP スマホ等のモバイル判定が簡単に行えるライブラリ「MobileESP」 Android、iPhone、Blackberry等、大量のモバイルデバイスが存在しますが、そうした物の判定を行ってくれる各種言語用のライブラリ群です。 docomo, kddi, vodafoneなんていう記述もあったりしてガラケーも対応してるっぽいです。 対応言語は、PHP, Java, APS.NET (C#), Ruby ,さらにはJavaScript版もあるようです iPhone端末かどうかを調べるには次のようなコードを書きます。 $uagent_obj = new uagent_info(); if ($uagent_obj->isTierIphone =
10 Very Useful WordPress Hacks [ad#ad-2] 下記は各ポイントを意訳したものです。 リンクを新しいウインドウで開く 検索結果ページのインデックスを阻止 編集ボタンを設置 コントロールパネルのリンクを設置 データベースエラーページのカスタマイズ ページ内にもう一つのページを埋め込む 著者の情報を加える Facebookのボタンを加える WordPressのアドミンバーを下に移動 管理者用のパスワードをリセット リンクを新しいウインドウで開く デフォルトでリンクを常に新しいウインドウで開くようにします。 「wp-admin」フォルダ内の「quicktags.js」を変更します。 変更前 if (!edCheckOpenTags(i)) { var URL = prompt('Enter the URL' ,defaultValue); if (URL) {
APIを使わずにYoutube動画のサムネイルを得る方法があるみたいです。 画像が以下のようにvideoidをベースに生成されるので、URLを作って<img src>に設定するだけです。 videoidは、http://www.youtube.com/watch?v=XXXXXX の部分のことです。 http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.j
Fork the Open Source CMS 綺麗なデザインで多言語対応、テーマやプラグイン対応のCMS「Fork」。 管理画面も綺麗で、肝心のページ用のテーマもクールなものが揃っており、WordPressのようにプラグインを追加できたり、アクセス解析画面を統合できたりします。 個人的にいいなと思ったのが、言語ごとにページを管理できる点で、日本語と英語のページを同じCMS内で切り替えて作成できる点。 例えば、スマホアプリなんかの紹介ページで国際展開したい場合なんかにも、言語を切り替えてそれぞれページを作れるので、便利だなと思いました。 管理画面の選択ボックスから言語を選べば編集対象の言語を選べ、それぞれの記事は区別されます。ので国際対応のサイトを作るにも便利 http://demo.fork-cms.com/en や http://demo.fork-cms.com/nl といった感じ
さて、今日から3連休ですかね。無関係な 僕は普通に記事書きます。最近、HTML5製 のWebサイトも珍しくないくらい増えてき ました。このブログでも何度もHTML5製の WordPressテーマをご紹介していますが、 投稿時にタグを手打ちするのは極めて面倒 なのでちょっと強引に使えるようにします。 まぁ強引かどうか分かりませんけど現状不便なのと仕事で使うわけではないので、使えればいいんじゃない?みたいなノリで含めてみます。いずれエディター側で普通に対応すると思うのでそれまでの間に合わせですかね。 実装 こんな感じで。あんまりスマートでは無いですけどw追加したいタグをselectから選択すれば投稿エリアに反映されます。ただし、反映させるだけで、ドラッグで囲って・・・みたいなことは出来ません。 AddQuicktagというプラグインなら追加も余裕なんですが、他の用途で使っていてこれ以上タグが増
少し増えてきたので自分用にまとめてみます。 WordPressでテーマをカスタマイズしたい時 にサクッと探せると楽なんですが、その コードスニペットを探せる、というサイトが いくつかあるのでご紹介します。WPユーザー の方は一度ご覧になってみては如何でしょう。 というわけでちょっと個人的なメモです。WPスニペットを保管してるサイトのまとめ。お手軽なWordPress Tipsっていうカテゴリで記事をよく書いてるんですけどそのネタ元なので英語OKな方はこちらから探してみては如何でしょうか。 この手のサイトのコードは古い可能性もよくあるのでCODEXで非推奨のコードでは無いかどうか合わせて確認しておくとより良いかもしれません。 WP-Snippets 数は多くないけど需要のあるTips多め。最近リニューアルしてちゃんとカテゴリ分けしてくれました。単純な単語をタイトルにしてくれているので英語が苦
商用利用も無料、Responsive Web Designに対応したWordPressのテーマファイルを紹介します。 ボタン、タブ、パネルなどのページでよく使用するエレメントをはじめ、さまざまなカラムも簡単にショートコードで利用できます。 デモページを幅600pxで表示 Skeletonの主な特徴 Formalizeを使用して各ブラウザ間のエレメントの相違に対応。 Skeletonを使用してMedia Queriesを使った可変カラムに対応。 Option Frameworkを使用してテーマオプションのカスタマイズが可能。 bbPressのフォーラムスキンをインクルード。 見出しや本文などバランスの取れたタイポグラフィ。 デモ:Typography and Elements スマートフォン用のマルチレベルのメニューをサポート。 テーマオプションパネルからフォントや背景画像を設定可能。 タブ
7. ウェブアプリの入力、処理、出力入出力ウェブサーバウェブアプリ(PHP など)外部 API サーバ(Facebook API 、決済会社など)入出力処理入出力データベースサーバ(MySQL など)ウェブブラウザ 10. ウェブサーバーを通したウェブブラウザからの入力の仕様を考えようPHP に入ってくる値は何かを知る可変長のバイト列 (文字列ではない!!)GET パラメータPOST パラメータアップロードファイルリクエストヘッダ (Cookie など)実際の処理に渡すべき値は何かを考える文字列か、バイト列か?文字コードは何か?(ウェブサーバーでバイト列を処理することってあまりないので、 PHP では基本的に文字コードのバリデーションは必要だと思って良い)長さはどうか?どういう文法や構造を持つデータ?入力された値を実際の処理に渡すべき値かどうかを確認することを「バリデーション」という 11
ちょっとご質問頂いたのでメモがてら 記事にします。WordPressには固定ページ でテンプレート機能というものが使える んですが、これが応用が利いて地味に 便利なんです。ただ、場合によっては ここだけ検索結果から外したい、という 場合もあるかもしれません。 ちなみにご質問内容は、以前書いた、「いいね!」するとコンテンツを見る事が出来るファンゲート対応のFacebookページをWordPressで作る手順という記事で、このテンプレート機能(詳しくはCodexで)を使ってファンゲート対応ページを作るんですが、このページだけサイト内検索から除外したい、という内容です。 [※すみません、このコードではダメですね・・調査不足でした。現在調整中ですが、代替案だけ書いておきます] コード ご利用のsearch.phpの一番上とかis_search()以下にあるループ(if (have_posts())
4. TCP/IP送ったら送った順に届く$fp = stream_socket_client('tcp://www.nicovideo.jp:80');fwrite($fp, "GET / HTTP/1.0");fwrite($fp, "Host: www.nicovideo.jp");echo stream_get_contents($fp);fclose($fp); 6. TCP/IPちゃんと届けられる$fp = stream_socket_client('tcp://www.nicovideo.jp:80', $errno, $errstr);if ($fp=== false) { throw new Exception($errstr);}if (fwrite($fp, "GET / HTTP/1.0") === false) { throw new Exception($php_
私を残念な気分にさせるPHPのいろいろ・・・『PHP Sadness』 September 11th, 2011 Posted in コミュニティ Write comment 休日なのでマニアックな話題で。個人的には結構ウケた。 さて、PHP Sadnessでは「仕事でPHP使ってみたけど、なんというか、とても残念」という思いがぶちまけられている。 ご丁寧にそうした「残念ポイント」をきちんとカテゴライズし、専用掲示板までつけているという凝りようだ。 「エラーメッセージがちょっと何言っているかわからない」「関数名の付け方がおかしい」「mktime()の引数って・・・」などなど、PHPerだったら苦笑いしてしまうものばかりが雨あられだ。 もちろん歴史的な経緯でそうなっているのはわからないでもないのだが、新しい言語に比べるとやはりねぇ・・・という思いを共有したい人には良いだろう。他の言語版も見て
WordPressの勉強も兼ねて、Twenty Elevenテーマの各テンプレートについて解説してみたいと思います。確認バージョンは3.2.1です。 メインインデックスのテンプレート (index.php) Twenty Elevenテーマの「メインインデックスのテンプレート (index.php)」で出力されるページは次のようになります。 テンプレートのソースコードは次のとおりです。 <?php /** * The main template file. * * This is the most generic template file in a WordPress theme * and one of the two required files for a theme (the other being style.css). * It is used to display a pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く