タグ

PHPに関するhalohalolinのブックマーク (193)

  • Amazonから商品画像を取得するAPI(PHP製)をGitHubに公開してみた : つねづね思ふこと 〜 ゲームやアニメの紹介を中心 に、あと気がついたときにプログラムネタも書いてます

    halohalolin
    halohalolin 2017/07/18
    GitHubへ、アニチェッカーでもサムネイル表示に使用しているキーワードを入力したらそのキーワードに関連しそうな商品をAmazonから引っ張ってくるPHP製のAPIをGitHubにてMITライセンスにて公開しました
  • PHPでPINGを使ってマシンの死活監視をする方法 | Web活メモ帳

    PHPでサーバーの死活管理 サーバーが生きてるか死んでるかを確認するのにPingを使う方はいると思いますが、 今回PHPからPingを使う方法を知ったので自分用にメモ。 execを使用する方法、fsocketopenを使用する方法の2パターンありますが、 fsockeopneを使用するとポートの指定も出来るので、MySQLやApacheが稼働しているかのチェックにも使えます。 ソースコードは以下 execでサーバーにpingを送信する方法 /* Ping送信プログラム */ function ping($host) { $r = exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval); //pingの結果を表示 //print_r($r); return $rval === 0; } /* $hostに死

    PHPでPINGを使ってマシンの死活監視をする方法 | Web活メモ帳
    halohalolin
    halohalolin 2017/02/21
    PHPでポート番号を含めた導通テストをするなら@fsockopenを用いると良い、だがfsockopenのポート80へのアクセスについて正しくはpingのプロトコルではないので注意
  • Google Feed API 廃止への対応 - Qiita

    経緯 2015年12月2日頃にGoogle Feed APIが廃止されました。 僕はこれはGoogleの「日の祝日」カレンダーの情報を取るためにこのAPIを使っていました。 そのため祝日を取得する方法を紹介しているブログの内容は使えなくなってしまいました。 例外なく以業務で前僕が書いた某スクリプトも廃止の影響を受けてしまったので対応しました。 稿はこの問題にどう対応したのかについてのメモです。 修正パッチ まず先に修正パッチを示します。 変更前 $start_time = date("Y-m-d"); $calendar_id = urlencode('japanese__ja@holiday.calendar.google.com'); $url = "https://www.google.com/calendar/feeds/{$calendar_id}/public/basic?

    Google Feed API 廃止への対応 - Qiita
    halohalolin
    halohalolin 2016/11/10
    phpで日本の祝日をGoogleカレンダー経由で取得する方法、 http://bit.ly/2eVcF3G をrequireする、日付順に並び替えるなら http://bit.ly/2fgk9kD も参考にする
  • 『mb_convert_kanaがきかない時』

    mb_convert_kanaは全角・半角変換が手軽にできる便利な関数だ。 しかしたまーにきかないときがある。 原因は文字コードを指定していないことにある場合が多いので、 mb_convert_kana($data, "K", "utf-8") などと文字コードをしっかり指定してやれば動く。 基的なことだが、意外と忘れがちである・・・。

    『mb_convert_kanaがきかない時』
    halohalolin
    halohalolin 2016/07/31
    mb_convert_kanaが効かない時は、文字コードの指定を抜いていないか確認する
  • Ideone.com

    halohalolin
    halohalolin 2016/05/08
    PHPで2つの変数間で差分を調べるサンプルプログラム、array_diffを用いれば簡単に調べられる
  • コマンドライン上からPHPスクリプトに$_GETを渡す - Qiita

    デバッグのためにターミナルからPHPのスクリプトにGETリクエストの変数を渡したいことがたまにある. 調べてみたらphp-cgiなるものをインストールすると幸せになれるらしいのでやってみた. Ubuntu(-14.04)

    コマンドライン上からPHPスクリプトに$_GETを渡す - Qiita
    halohalolin
    halohalolin 2016/05/06
    Windowsでもphp-cgi.exeは存在する
  • PHP で「配列の最初の要素を取得する」なら array_shift() より current() のほうが速かったという話 | バシャログ。

    PHP で「配列の最初の要素を取得する」なら array_shift() より current() のほうが速かったという話 | バシャログ。
    halohalolin
    halohalolin 2016/05/06
    配列だったら配列の最初の要素のみを返す、そうでなければ変数を返したいなら is_array($hensuu) ? current($hensuu) : $hensuu
  • DOMDocument::loadHTML が meta の charset を解釈してくれない問題と対策 - Qiita

    概要 HTMLソースに「<meta charset="…" />」が指定してあっても DOMDocument::loadHTML は文字コード解釈に失敗することがあるよ、というお話。 実験対象 Qiita のトップページ。「<meta charset="UTF-8">」という記述があり、DOMDocument はこれを解釈できそうに見えます。 <!DOCTYPE html> <html xmlns:og="http://ogp.me/ns#"> <head><script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script> <meta charset="UTF-8"> <title>Qiita [キータ] - プログラマの技

    DOMDocument::loadHTML が meta の charset を解釈してくれない問題と対策 - Qiita
    halohalolin
    halohalolin 2016/05/06
    HTMLの一部のみをそのままloadHTMLで読み込ませると日本語が文字化けするので、<meta charset="UTF-8"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を追加して読み込ませる。
  • 【php】 URLが存在するかどうか確認する at softelメモ

    問題 あるURLが存在するかどうかphpで確認したい。 答え phpでhttpのリクエストを送信してURLにアクセス可能かどうか確認する方法はいくつかある。 1、file_get_contents リクエスト先がないときwarningが発生するので@で抑えている。 $url = 'http://www.example.com/'; $response = @file_get_contents($url); if ($response !== false) { echo '存在した'; } else { echo '存在しない'; } 2、fopen $url = 'http://www.example.com/'; $fp = @fopen($url, 'r'); if ($fp) { fclose($fp); echo '存在した'; } else { echo '存在しない'; } 3

    【php】 URLが存在するかどうか確認する at softelメモ
    halohalolin
    halohalolin 2016/05/06
    (@file_get_contents($url, NULL, NULL, 0, 1) !== false)であれば、URLは存在すると判定できる
  • サービス終了のお知らせ

    halohalolin
    halohalolin 2016/02/19
    phpのバージョンによっては、php.iniにmax_input_vars項目があり、これを超えるフォーム値は一度に送れない為、うっかりAPIにて無限の項目をアップロードできる仕様を書くと嵌る
  • とても簡単にPHPからPOSTリクエストを送信する方法【PHP】 - Programming Magic

    今まで、PHPからPOSTリクエストを送信する方法は、fsockopen関数を使って書く方法しか知らなかったが、調べてみると意外といろいろな方法があった。 fsockopen関数を使う方法     →参考:PHP TIPS Vol.3 ソケット拡張モジュールを使う方法     →参考:HTTPリスエストをそのまま返すPHPサーバ | Shin x blog ストリーム関数+ファイルシステム関数を使う方法     →参考:cURLを使わずに、PHPでPOSTリクエストを送信する - PHPプロ!ニュース HTTP拡張モジュールを使う方法 CURL関数を使う方法     →参考:php curlをつかったオリジナルクラス (myCurlRequest) - hiyuzawa.jpn.org Zend_Http_Clientを使う方法     →参考:【PHP TIPS】 51. ス

    halohalolin
    halohalolin 2016/02/08
    PHPのfile_get_contentsを用いたpost通信例、ヘッダーやBASIC認証・ユーザーエージェント・プロキシなどにも対応
  • ブログ本文の単語分析をPHPのみでexecとか外部APIとかなしで実装できないか? : つねづね思ふこと 〜 ゲームやアニメの紹介を中心 に、あと気がついたときにプログラムネタも書いてます

    個人的に自家製botづくりに興味が有る今日このごろ。 そこで気になるのが、botでサイトの巡回をするのはいいけど、HTMLのうちどの辺が文で、その文が何が書いてあったのかというのをどのように機械的に分析させるのか? まあかなり抜け穴がありそうですけど、ざっと考えるなら、 1.HTMLの中で文章が多そうな部分を抽出し ↓ 2.接続詞を除去して ↓ 3.アルファベット・カタカナ・ひらがな・漢字が変わっているところは別の単語としてカウントし ↓ 4.集計して単語の数が多いものについて、このページはその単語のテーマについて語っていると判断してみる。 というのはどうでしょう。 しかし、自分でコードを考え試行錯誤するのが面倒くさいなぁ。 できれば、共有サーバーなので、PHP上で動作し、なんかインストールする必要がなくて、あと外部サービスはいきなり使えなくなることも有りますから使わなくて済むならそっ

    ブログ本文の単語分析をPHPのみでexecとか外部APIとかなしで実装できないか? : つねづね思ふこと 〜 ゲームやアニメの紹介を中心 に、あと気がついたときにプログラムネタも書いてます
    halohalolin
    halohalolin 2016/01/25
    PHPで簡単なブログ記事本文を抽出したり、その本文を単語解析できないかと色々正規表現のサンプルコードを組み合わせて試してみました。
  • zuzara.com » ブログの記事本文を抽出するスクリプトをつくってみた

    ブログ検索において、RSSは必ずしも記事全文を配信していないので、クローラーが記事のURLにアクセスし記事の文を取得するケースが多いようです。 「gooブログ検索」「ブログレンジャー」開発者が語るブログ検索技術Yahoo!検索 スタッフブログ Yahoo!ブログ検索より細部改善のお知らせ上記の記事ではどちらも文を抽出してくる、とあっさり書かれていますが100%に近い精度を実現するとなるとそう簡単ではないはず。 ちょっと調べてみたら以下のような取り組みが論文として読めました。英語圏の文献は、検索語が悪かったのかいまいち。「blog entry extract body text etc…」 NRI 技術創発 ブログ記事の自動分類により消費者意識の側面を捉える試み(PDF)なんでもRSS! HTML文書からのRSS Feed 自動生成 南野朋之 奥村学:人工知能学会研究会資料 SIG-SW

    halohalolin
    halohalolin 2016/01/24
    HTMLページ解析スクリプト。「tdかdivで囲まれた文字列で、文章と比べてHTMLのタグがあまり多くないもののうち、一番文字数が多いのが本文だろう、というアルゴリズム。」
  • php から確実にメール送信(Qdmail使用、SMTP経由) - Qiita

    phpから mail() や mb_send_mail() で、メールを送ると・・・ 迷惑メールに分類されたり、SPAMとしてブロックされて届くことすらなかったり、なかなかうまくいきません。 確実にメールを届けるには、面倒ですが実際につかっているSMTPサーバー経由でメール送信するのが、もっとも有効。ということで、その方法です。 準備 送信用のメールアカウントを用意。ほとんどのサーバー業者の提供するSMTPサーバーは認証が必要なはずなので、メールアカウントを作っておく。 Qdmail を ここから ダウンロードする。 Qdsmtp を ここから ダウンロードする。 コード //Qdmailをロード require_once('qdmail.php'); //Qdsmtpをロード //(ドキュメントには、記述不要とかいてあるが、書かないとうまくいかないことがあった) require_once

    php から確実にメール送信(Qdmail使用、SMTP経由) - Qiita
    halohalolin
    halohalolin 2015/12/01
    自サーバのメールサーバやDNS設定等によっては、mb_send_mail等経由等による送信はSPAM扱いされて届かない時がある、その場合、SPAM扱いされないメールサーバを経由して送信するようQdmailやQdsmtpを使うと良い。かも?
  • 「php://input」とは何?-POSTの生データ? | アイビースター

    PHPでプログラムをバリバリ書いている方なら御存知かもしれませんが、あるPHPファイルのプログラムを眺めていたら見なれない一文がありました。そのソースはこれ。 $hoge = file_get_contents( 'php://input' ); 「php://input」って何じゃ? 上記プログラムについてちょっと調べました。私のように知らない方のために明記しておきますが、もし、知っている方はスルーしてください。間違っても悪口を書かないように(^^ゞ 早々に調べてみると、まずはfile_get_contents()関数です。これはすぐに見つかりました。PHPのドキュメントを見るとこちらに ファイルの内容を全て文字列に読み込む と、書かれています。ドキュメント内にも「file()関数と似ている」と書かれていますが、file()関数よりも取得する内容などを細かく設定できます。 さて、問題は「

    「php://input」とは何?-POSTの生データ? | アイビースター
    halohalolin
    halohalolin 2015/10/16
    javascriptのクラスへ通信データをまとめて、jqueryのajaxでpostから送信を行った際、$_POSTでは受け取れなかったが、file_get_contents( 'php://input' );なら受け取れた。
  • PHPからChromeにログ出力「Chrome Logger」

    こんにちは、中川です。 PHPでの開発中のちょっとしたデバッグに、echo や var_dumpで画面に値を出力して確認することがありますよね。 このデバッグ方法は簡単でいいのですが、出力した配列の値などはパッと見で確認しやすいとは言えませんし、画面の表示内容が崩れたりします。 画面に出力しない方法としては、 error_log関数を使ってapacheログやファイルに出力する方法もありますが、 この場合は、サーバ側にログインしてtailなどでファイル内容を確認する必要がでてきます。 そんなちょっとした問題を解決してくれるツール 「Chrome Logger」をご紹介したいと思います。 Chrome Loggerを使えば、JavaScriptのconsole.logのように、 表示画面には影響を与えないでブラウザのデベロッパコンソールにPHPから値を出力できます。 ■Chrome Logge

    PHPからChromeにログ出力「Chrome Logger」
    halohalolin
    halohalolin 2015/10/16
    AJAXのデバッグは、サーバ側の動きが見えなくて面倒だったりしますが、Chromeデバッグで改善できるか?今度検討。
  • 大容量ファイルをphpでダウンロードさせる方法

    これは結構苦労したので、ログとして残しておく。 phpでダウンロードさせる方法を調べると、ほとんどがreadfile()関数を使えと出てくる。 まあ、間違っていないんだけれども、僕の場合大容量ファイルのダウンロードでなにも考えずにreadfile関数をつかってしまい、サーバーメモリー馬鹿みたいに使用しまくるし、DiskIO負荷は10MB/s にまでなるしで、ヤバい状況になった。 事の顛末はこんな感じ、 ダウンロードさせるなら readfile関数 使え! ⇒ ほー、OK。使ってみよう。 ⇒ 実装してみた。でも20MB超えるファイルをダウンロードすると失敗するよ? ⇒ php.ini ファイルの post_max_size, upload_max_filesize, memory_limit の設定メモリを増やせ! ⇒ 分かった。全部1GBに設定してみたわ。 ⇒ お、正常にアップもダウンもで

    大容量ファイルをphpでダウンロードさせる方法
    halohalolin
    halohalolin 2015/09/24
    readfileはメモリーを食うので、freadやob_start系の命令を使うことで、サーババッファリングの負荷を軽減する。
  • Ground-SunLight

    — y2sunlight ,Since 2019-10-02 Ground Sunlight は「Windowsで作る - PHPプログラミングの開発環境」をテーマにしたサイトです。 オープンソースを利用している全ての人達に祝福を!

    halohalolin
    halohalolin 2015/06/05
    Windows版php&MySQL構成において、実際に正しくphp_mysql.dllをインストール済みなのに「指定されたモジュールが見つかりません」エラーが出る場合は、libmysql.dllが%SystemRoot%\system32内にセット済みか疑う
  • 1行で書けるPHPファイルを直接実行させない方法 : エクスギア Blog

    Webサーバーのウェブルート以下に、クラスファイルやincludeされることが前提となっているライブラリファイルのような直接実行されることを意図していないPHPファイルを置いてしまった場合、意図していなくてもブラウザから直接URLを入力された場合はPHPファイルが実行されてしまいます。 もちろん、直接実行されては困るようなファイルをどこからでもアクセスできる公開ディレクトリに置くことが間違っていますが、アプリケーション設置をユーザー自身が行う場合に、「このファイルはhtdocsの上のディレクトリにlibディレクトリを作成して...」という手順を伝えるのが困難な場合もあるかもしれません。 .htaccessで対策する というわけで、直接呼ばれないようにする方法として一番最初に思い浮かべるのが、ライブラリを配置するディレクトリを別に用意し、.htaccessでdenyを設定してしまうことでしょ

    halohalolin
    halohalolin 2015/05/10
    コンソール及びローカルサーバからは実行できるが、外部からの実行を拒否するには if(getenv("REMOTE_ADDR") != "" && array_shift(get_included_files()) === __FILE__) で判定する。
  • Amazon「Product Advertising API」を使い書籍検索をして結果を表示するプログラム例

    AmazonのWebAPI(Product Advertising API)を利用して書籍を検索して結果を表示するだけの単純なプログラムをPHPとjQueryで作成したときのメモです。 Amazon Product Advertising APIのサンプルコード Webサービス:Product Advertising API データ形式:XML 利用ガイド:ライセンス契約 利用時の登録:必要 AmazonのWebAPI(Product Advertising API)を利用する場合、アクセスするためにいくつか方法があるようですが、下のリンク先のサイトにあるPHPコードを利用するとAPIにアクセスできて利用できます。 Sign Amazon Product Advertising API REST Requests with PHP and Python 上記リンク先にあるPHPプログラムを

    Amazon「Product Advertising API」を使い書籍検索をして結果を表示するプログラム例
    halohalolin
    halohalolin 2015/01/19
    Amazon Product Advertising API とaws_signed_reques.phptに加え、jQueryとPHPを用いたamazon商品検索フォーム作成サンプル。応用すれば自分のページに合うamazonアフリエイト商品リンクを自動生成できる。