タグ

phpに関するcyarのブックマーク (39)

  • [PHP] DNS関連の関数まとめ | いつかやる

    cyar
    cyar 2022/03/09
  • 【PHP】file_get_contents()でヘッダー情報を書き換える

    最近では、スマホでインターネットをする人が多くなり同じURLにアクセスしてもモバイルとパソコンが違ったレイアウトで表示されるのは当たり前となってきました。 この間公開したソースコードを表示するツール「凝」ではIphonePCを切り替えて取得できるようにしていましたが、file_get_contents()やfile()でただ取得するだけでは切り替えることはできません。 前者は文字列として、後者は配列としてファイルを取得してくれますが、特に理由がない場合僕はfile()を使ってます。 今回のように、ヘッダー情報を送るときはHTTPプロトコルのコンテキストの記述から、stream_context_create()でコンテキストリソースを作成します。stream_context_create()を利用し、file_get_contents()の引数とすることでアクセスするときのヘッダー情報を書

    【PHP】file_get_contents()でヘッダー情報を書き換える
    cyar
    cyar 2022/03/08
  • DateTime クラスのまとめメモ - Qiita

    はじめに phpで日付関連のこと調べると、手続き型の方法が検索上位に来てあまり手続き型で書きたくないなーと思ったので、DateTimeクラスを使った日付関連のことを個人メモ的にまとめた。 サンプル 現在日時を作成 $date = new DateTime(); echo $date->format('Y-m-d H:i:s'); // 2014-08-06 21:15:49 // 文字列から $date = new DateTime('2014-08-01 23:01:05'); echo $date->format('Y-m-d H:i:s'); // 2014-08-01 23:01:05 // 数値から $date = new DateTime(); $date->setDate(2014,8,1); echo $date->format('Y-m-d H:i:s'); // 201

    DateTime クラスのまとめメモ - Qiita
    cyar
    cyar 2022/02/11
  • PHPのヒアドキュメントでの出力方法と、よくあるエラー

    ヒアドキュメントで、 テキスト出力も自由自在!! EODというIDに挟まれたエリアに入力されたテキストが表示され、しかも改行タグも反映されました。 ヒアドキュメントの構文 <<<開始ID 文字列 終端ID; <<<のあとに開始IDを入れ、最後にも同じ終端IDを入れます。 (上記サンプルでは EOD) IDの命名ルール ヒアドキュメントのID名は、以下のルールに気を付けて命名しましょう。 開始ID、終端IDは必ず同じ名前にする IDはアルファベット大文字・小文字、日語でもOKだが、アルファベット大文字が基 数字を先頭にしてはいけない 記号は_(アンダースコア)のみ可 ちなみによくあるID名は以下のとおりです。 EOD(End of Document) EOM(End of Message) EOF(End of File) 上記いずれかのID名を付けるのが一般的です。 ヒアドキュメントで

    cyar
    cyar 2022/02/01
  • PHPでJSONデータの取得の仕方 - Qiita

    はじめに この記事は私のサイト『FantmSite』のブログでこう書いていたのですが、心機一転としてブログを閉鎖し、今後サイトをリニューアルすべくその一つとしてQiitaに移転させています。 記事の内容 はじめに 最近開発をせずに勉強ばかりしているので書く内容がなかなかないのですが、「【PHPMySQLに保存しているデータをJSONで吐き出す」という記事は書いたのに、JSONの読み取りについて書いていなかったので、記述しておきたいと思います。 JSONデータの例 説明を行うために、まず今回利用するJSONデータの例を示しておきます。 {"res": {"blogData":[ { "id":"0001", "title":"サンプル01", "day":[ { "year":"2015", "month":"03", "_day":"31" } ], "author":"fantmsit

    PHPでJSONデータの取得の仕方 - Qiita
    cyar
    cyar 2019/03/18
  • phpでSSH接続して、コマンドを投げるメモ – 4starlink

    PHPでプログラムから、外部サーバーへのSSHで、コマンドをなげたいケースがある。 そういう際に、知っておくと便利なコマンド「ssh2_connect」 下記はサンプルのPHPプログラムです。 ssh2_connect.php // ssh接続して、ファイルのパーミッションをチェックするサンプル $ok = ""; $ng = ""; $connection = ssh2_connect('192.168.1.1', 22); ssh2_auth_password($connection, 'user', 'pass'); $stream = ssh2_exec($connection, 'echo `ls -l /home/test/call.agi` | cut -d" " -f1'); $errorstream = ssh2_fetch_stream($stream, SSH2_ST

    phpでSSH接続して、コマンドを投げるメモ – 4starlink
    cyar
    cyar 2018/06/29
  • preg_matchの検索パターンに変数を入れる - Qiita

    <?php $neko = "neko"; $hako = "nekobako"; if(preg_match("/$neko/",$hako)){ echo "nekoはnekobakoに存在する"; }else{ echo "nekoはnekobakoに存在しない"; }

    preg_matchの検索パターンに変数を入れる - Qiita
  • PHP の exec(), shell_exec(), system() - foldrr's weblog

    どれを使えばいいのか exec() を使えばいい。 shell_exec() はリターンコードが取得不能なので不便。 system() はリダイレクトしないと勝手に標準出力へ出力するので不便。 まとめ 関数名 第1引数 第2引数 第3引数 戻値 出力 exec コマンド stdout リターンコード stdout なし shell_exec コマンド - - stdout なし system コマンド リターンコード - stdout あり exec() 第2引数 stdout の注意点 exec() の標準出力は第2引数 stdout へ追加されるので注意。 つまり、連続して exec() を呼び出す場合は第2引数に渡す変数を毎回クリアする必要がある。 非同期実行 exec, shell_exec, system どれでも可能。 以下は exec での例。 exec('filename

    PHP の exec(), shell_exec(), system() - foldrr's weblog
    cyar
    cyar 2018/04/05
    非同期にする場合は、exec('nohup filename > /dev/null &');
  • PHPでファイルをダウンロードする方法とよくあるエラー

    PHPでheader()を使ったファイルのダウンロード方法をご紹介します。 ファイル形式と、ファイルサイズの取得、ファイルのリネームの3つを行い、ファイルを読み込むだけで簡単にダウンロード可能です。 よくあるファイルダウンロード時のエラーも紹介しています。

    cyar
    cyar 2018/03/28
  • PHP での SQL インジェクション対策はどのように行いますか?

    前提 まず、SQL インジェクション対策を含め、脆弱性対策の前提としてなるべく新しい安定版の PHP を利用するようにしてください。 バージョンアップにより脆弱性が解消したり、より安全になっています。 なお、以下の方法は PHP 5.3.7 以上で対応しています。(PHP 5.3.6 でも対応していますが、Windowsの実装が不完全です) ただし、PHP 5.3 系は 2014/8/14 でセキュリティサポートが終了しています。 PDO + 静的プレースホルダを用いた SQL 文発行 PDO を利用する場合、以下のポイントを押さえることで安全に利用出来ます。 1.文字エンコーディングを指定する 2.静的プレースホルダを用いる 3.バインド時に型を指定する それぞれについて、以下に実装方法を説明します。 1. 文字エンコーディングを指定する 期待した文字エンコーディングとして動作するよう、

    PHP での SQL インジェクション対策はどのように行いますか?
  • PDOを使ったPHPでのデータベース基本操作 - Qiita

    PHPでデータベースを操作する方法をまとめました。簡易な解説なので、プログラムの日が浅い人は理解できないかもしれません。復習用としてお使いください。 PHPでデータベースを操作する場合は、まずPDOオブジェクトを生成します。この時はコンストラクタでデータベース情報を設定しておきます。 後は、そのPDOオブジェクトのメソッドでデータベースを操作するだけです。今回は、$dbhという変数でPDOオブジェクトを管理しています。 データベース接続に必要な情報 まずはサンプルコードです。 <?php define('DB_HOST', 'DBの場所'); define('DB_NAME', 'DBの名前'); define('DB_USER', 'ユーザー名'); define('DB_PASSWORD', 'パスワード'); // 文字化け対策 $options = array(PDO::MYSQL

    PDOを使ったPHPでのデータベース基本操作 - Qiita
    cyar
    cyar 2018/03/06
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    cyar
    cyar 2018/03/06
  • PHP初心者はまず関数die()と、print_r()を覚えよう! | 株式会社アルベ | Arubeh Inc.

    photo credit: drewm via photopin cc PHPを触り始めて、また格的にプログラミングを始める様になって4ヶ月が経ちました。最初はもう読めたものじゃなかったPHPも、やっと読める様に、そして書ける様になってきました。嬉しいものです。そうですOsamuです。 最初にPHPに触れた時、確か1週間とか2週間の頃。もう何が何だかわからなく困っていました。 コードを読んでみても何しているかわからないし、データがどこにインプットされて、どこで処理されて、どんな形でアウトプットされているのか。頭が混乱したものです。 そんな時に私を助けてくれたのが、以下の2つ関数でした。 ・die() ・print_r() 恐らく中級者以上のPHPプログラマーには当たり前の関数でしょう。しかし、この関数当に使えます。PHP初心者はまず関数die()と、print_r()を多用する事を覚え

    cyar
    cyar 2018/03/06
  • プログラミング日誌 :: PHPのparse_ini_file関数

    プログラミング日誌 プログラミングに関することを書いていたのは大昔になってしまった>< 今は中年の雑記ブログです。 仕事とか気になったことを書こうと思います。 言語:PHP 始めてPHPのparse_ini_file関数を使ったので、忘れないように書き留めておこう。 1. parse_ini_file関数 この関数は、php.iniと同じ構造のiniファイルを読み込んで、その内容を連想配列で返すものです。 array parse_ini_file( string $filename, bool $process_sections, integer $scanner_mode ) 2. 引数 filename 読み込むiniファイル名。 process_sections セクションを区別する場合はtrue、そうでない場合はfalse。 省略可能。デフォルトではfalse。 scanner_m

    cyar
    cyar 2018/03/06
  • PHPオブジェクト指向入門(前半) - Qiita

    コンセプト オブジェクト指向プログラミング未経験者~理解を深めたい人、ノンケ~ホモまで幅広くカバーするつもり。多分。 クラスとオブジェクト(初級) 唐突ですが、量産型のロボットの設計・製造について考えてみましょう。 ロボ太郎 ロボ次郎 イラストで初心者を釣る クラス まず、ロボットの設計図を クラス として定義します。設計図をもとにロボットを製造するには、 new 演算子を使います。製造された物体のことを オブジェクト や インスタンス と呼びます。ここではこれらの用語を区別せずに用いることにします。 Yahoo!知恵袋 - オブジェクトとインスタンスの違い

    PHPオブジェクト指向入門(前半) - Qiita
    cyar
    cyar 2018/02/27
  • mod_rewrite

    mod_rewriteとは Apacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができます。リダイレクト処理を行うのに便利なモジュールです。 モジュールの解説ドキュメントによれば URLを操作するためのスイス製のアーミーナイフ と例えられるほど、非常に複雑な処理を行えます。 URLからURLへ、同一サーバ内URLだろうが、別サーバURLだろうが問いません。 引数を含む動的URLを通常のHTMLファイルのような静的URLに見せることも可能です。 素晴らしく詳細なマニュアルもありますが、機能が多いだけに情報量が多く読むのも面倒だと思いますので、ここでは、mod_rewriteを使用すると便利な場面を想定して具体的に解説してみたいと思います。 mod_rewriteの基 ひとまず、mod_rewriteはApacheのモジュールです。インストールされていなければ、サーバ

    mod_rewrite
    cyar
    cyar 2018/02/12
  • PHPでXMLを解析するときに注意すること - Qiita

    PHPでXMLのデータを解析する XMLをパースする XML形式についてはPHPの関数でsimplexml_load_stringという関数があります。 これはXML文書をパースしてオブジェクト化してくれる関数だそうです。 $xml = file_get_contents('http://blog.kzno.net/feed/'); $xmlObject = simplexml_load_string($xml); ただ、これだけだと比較する時や引数として値を渡したいときにオプジェクトとして扱うためうまくいきません。 引数として使用する場合は(string)で文字列にキャストしてやると幸せになれます。

    PHPでXMLを解析するときに注意すること - Qiita
  • ある複数の単語が文章中に含まれるかどうかを調べる方法 - アナログCPU:5108843109

    タイトルの通り、ある文章の中に特定の単語(複数)が含まれるかどうかを チェックする機能が欲しくていろいろ調べていました。 掲示板やブログコメントのNGワードチェックのような用途です。 軽く調べても、自分でも思いつくような正攻法しか見つからず… 参考:[PHP][疑問]ある文字列が、複数のキーワードのうち一つでもマッチするか判定する方法について - HappyQuality http://www.happyquality.com/2012/02/04/1959.htm 自分で作ったのは下記のような感じです。(方法A) 単語リストをひたすらforeachで回して文章中を検索、引っ掛かればアウト。 (今回はNGワードに該当=だめ なので、参考サイトとは判定が逆です) $text = "こんにちはhoge"; // 文章 $word_list = array("hoge", "fuga"); //

    ある複数の単語が文章中に含まれるかどうかを調べる方法 - アナログCPU:5108843109
    cyar
    cyar 2016/06/10
  • PHPメモ : file_get_contentsの代替にcURLを使う - Mach3.laBlog

    この記事は賞味期限切れです。(更新から1年が経過しています) PHPで外部のリソースを取得するのに大変便利なfile_get_contents関数ですが、 cURLの環境があるなら利用したほうがパフォーマンスがいいぞというお話。 パフォーマンスの差 具体的にどれくらいパフォーマンスが変わるのかというと… モバイル回線のノートでYahoo!のトップページを取得してざっくり計測したところ、 file_get_contents : 4秒前後 cURL : 2秒前後 概ねこんな感じとなりました。 勿論時間帯や回線など様々な要因にもよりますが、 ちょっと無視出来ない数字ですね。 簡単な使い方 cf) PHP: cURL – Manual curl_init()で初期化 curl_setopt()でオプションを設定して curl_exec()で実行 curl_close()で終了 というのが一連の流れ

    PHPメモ : file_get_contentsの代替にcURLを使う - Mach3.laBlog
    cyar
    cyar 2016/06/03
  • phpによるリンク切れチェック手法の最適解は?

    DB内にあるサイト情報のリンクのチェックを行いたく、質問しています。 リンク切れチェックにはいくつかやり方があると思いますが、最適な方法が判断できません。 ざっと思いつくのは 0. ヘッダーに404が返ってくるものをリンク切れと判断する 0. ヘッダーに200が返ってくるものをリンクが存在していると判断する 0. コンテンツを入手して、title等があるかチェックする 等ですが、問題点もそれぞれ多そうです。。。 需要もありそうなので検索してみたのですが、「最適」と言えそうな解に辿りつけませんでした。 一般的にはどのようなやり方で実現するのでしょうか? 可能であれば考慮点も合わせてご教示いただけると幸いです。 想定している利用環境は ・php 5.6 ・フレームワーク codeigniter 3.0 です。 よろしくお願いします。

    phpによるリンク切れチェック手法の最適解は?
    cyar
    cyar 2016/06/03