$month = '2014-03'; //nullでも構いません $firstDate = date('Y-m-d', strtotime('first day of ' . $month)); $lastDate = date('Y-m-d', strtotime('last day of ' . $month));
PHPでMarkdownをパースする 訳あってPHPでMarkdownファイルをパースする必要が出てきましたので、ライブラリを比較してみました。 結論から言うと、cebe/markdownが一番良さそうに感じました。 比較用にリポジトリを作りました。 https://github.com/naga3/markdown-comparison composer installしてからindex.phpを開くといろいろなモードでREADME.mdをパースします。 比較ライブラリ PHP Markdown / cebe/markdown / Parsedown この3つがよく使われているようです。 Benckmark https://github.com/kzykhys/Markbench Parsedown > cebe/markdown > PHP Markdown 的な感じです。 PHP M
!!最新情報は以下の記事を参照して下さい!! PHPでPDFを作成するときはphpwkhtmltopdfで戦え [2016年度版] HTMLをPDFに変換するアプローチのつらみ ・インラインのCSSしか受け付けない ・そもそもCSS2.0系のプロパティしか受け付けない ・セレクタで要素が絞り込めない mPDF、主に君のことだ。 wkhtmltopdfとsnappyで幸せになろう http://wkhtmltopdf.org/ Webkit html to pdf の略。 名前からも分かるようにHTMLをWebkitで解釈してPDFに変換するGoogle謹製のツールです。 もちろん、HTML5 も CSS3.0 も難なく解釈します。 最高感ある。 knplabs/knp-snappy https://packagist.org/packages/knplabs/knp-snappy wkht
PHPでPDFを出力する場合、PDFlib や FPDF 、haru などさまざまなソリューションがありますが、たとえば、請求書や納品書といった、レイアウトが複雑なデザインの帳票を出力したいときには、 既存のPDFをテンプレートとして活用し、そこに必要な文字だけ配置していく ことでソースコードをシンプルに保つことができます。 既存のPDFをテンプレートとして読み込むことができ、かつ無償で活用できるライブラリとして、TCPDF と FPDI の組み合わせをご紹介します。 テンプレートとなるPDFを作成する PDFの読み込みを行うFPDIは、有償のパーサーを別途導入しない場合、PDF 1.5以上のファイルをパースすることができません。テンプレートとなるPDFファイルは PDF 1.4以下の圧縮形式で作成する必要があります。 また、PHP上から文字を配置する場合、座標を使用するため(左から10m
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 番目指定は 0番目、1番目、2番目、… というように0以上の整数とします。 想定しない値の例外処理はしていません。 strpos() を使う strpos() の第3引数 $offset なんて滅多に出番ないと思ってたけど、こういう使い方ができるとは・・・ function strpos_n($str, $needle, $n = 0) { $offset = 0; $len = strlen($needle); while ($n-- >= 0 && ($pos = strpos($str, $needle, $offset)) !== false) { $offset = $pos + $len; } return $pos; }
クラウド電話APIのTwilioをPHPで使ってSMSを送信する機会があったので、今後のためにも残しておきます。 Twilioについて Twilioとは、Web上で電話を操作することが出来るクラウド電話サービスで、APIも提供されているため、Webシステムと連動して利用することが出来ます。 最近では本人認証のために、電話番号を入力→電話 or SMSで認証コードを通知という流れがあるかと思いますが、そういった電話やSMSの送信を自動的に制御する、といったことが出来るようになります。 Twilio API Twilio APIは「Twilio REST API」というREST形式も提供されており、HTTP通信で操作を行うことが出来ます。Twitter APIやFacebook API等の最近主流の方法ですね。 他にも「Twiml」という独自の形式や、「Client API」という形式も存在し
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
ダウンロード % wget http://www.xdebug.org/files/xdebug-2.0.4.tgz 展開 % tar xvzf xdebug-2.0.4.tgz phpize % cd xdebug-2.0.4 % phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519 configure % ./configure --enable-xdebug make % make xdebug.soをコピー % sudo cp -i modules/xdebug.so /path/to/php/modules
やっとここまできた! 今までjenkinsの設定は色々やってきたけど、今回はやっとテストを自動化させるところを書いていく。 1. PHPUnitのインストール PHPUnitのインストールは、前回のCakePHPでPHPUnitを手動インストールしたときのメモで対応済みだが、jenkinsが入っているサーバーと前回のものは別のため、こっちはpear channelからインストールする方法で試してみる。 $ pear channel-discover pear.phpunit.de $ pear install --alldeps phpunit/PHPUnit 2. コマンドラインからPHPUnitを実行してみる $./app/Console/cake test app AllTests Welcome to CakePHP v2.2.1 Console -----------------
はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ
FuelPHPのコントローラーのテストの書き方がなかったので試して見た 環境 centos6.3 fuelPHP1.5.3 事前準備に必要なもの php5.3以上 mysql fuelPHPがインストール済みであること インストールをしていない場合はFuelPHP【入門】-- CRUDを作った時のメモ(インストールからCRUD作成まで) --を参考にインストールしてください。 参考にしたサイト 日本語版ドキュメント(1.5ドキュメント) FuelPHPでControllerのUnitTest testコントローラーの配置場所 デフォルトでfuel/app/tests/controllerのディレクトリが作成済みですのでそこにコントローラーのテストクラスを作成していきます。
remi(Les RPM de Remi - Repository)のrpmパッケージを使います。 http://rpms.famillecollet.com/ epelとremiのリポジトリを追加します。CentOS 6.5 (6系)用です。 # For CentOS 6.5, 6.4, ... % sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm % sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # For CentOS 7.0 $ sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/
こんにちは。 PHP 5.4から、[]による配列の初期化ができるようになりました。 最近の言語やC言語ですら使える[]構文が今までPHPでは使用できませんでした。 従来、PHPで配列を生成するにはarray()という関数を使用しなければなりませんでした。 []が使えるようになったので疑問に思ったのですが、array()は関数です。 関数であれば多少なり呼び出しのオーバーヘッドがあるはず。 そのオーバーヘッドを考慮したらarray()で配列を初期化するより[]と書いたほうが高速なのでは? という疑問が出たので検証します。 書き方 念のために、[]で配列をどう記述するのかサンプルをお見せします。 <?php // ~5.3での書き方 $list = array(1, 2, 3); count($list); // 3 // 5.4~での書き方 $list = [1, 2, 3]; count(
notepadで開いたのはダブルクォートの付き方を確認するため。 mb_fputcsv()の方はフィールドのすべてがダブルクォートで括られていることがわかる。 その他の動作はいっしょ。 ついでにmb_fputcsv()の第5引数がtrueのもの。 こちらは例の「\"」(バックスラッシュ ダブルクォート)の部分もPFC4180的な解釈をしている。 それぞれ要件にあった使い方をしたい。 ・関連 [PHP]str_getcsv()があるんならstr_putcsv()があってもいいじゃない http://xirasaya.com/?m=detail&hid=407 -- 2014/04/09 一部修正: バックスラッシュの表記でその数が少なく表示されていたのを修正。 -- 2014/04/11 文字修正: 関数名をmy_fputcsv()からmb_fputcsv()に変更 Tags ファイル, ダ
あ、どうも僕です。 今日はPHPでWebサイトをクローリングしてjQueryチックにDOMを操作して、データを取得したり、画像などをダウンロードする方法について書こうと思うよ! これができると何がうれしいかって、いつも手動で巡回しているサイトなんかにアップされてる画像データを自動でダウンロードできるようになるんだよね。 人がやっていた作業をコマンド一発で自動化できるから、捗ること間違いなしだよ! あれ、この人、この前node.js使って同じことやってなかったっけか? node.jsを使ってjQueryチックにWebサイトをクローリングする方法 なんで同じことをPHPでやってんだ?とか思っていやしないだろうか。ああそうさ!ついこの前、node.jsで全く同じことをやって記事を書いたさ!なぜかって!?それは、node.jsの非同期地獄にやられたからさ! やつめ、データのダウンロードからデータベ
きゃりーぱみゅぱみゅってうまく言えない・・・。みなさんこんにちは nakamura です。 ユーザにファイルをアップロードさせるような処理、あんまりないとは言いつつもやっぱり何気によく作りますよね。でも、作る度に毎回引っ掛かるのがファイルアップロードに関連する php.ini ディレクティブの設定です。upload_max_filesize さえ上げときゃ動くだろう、と思って上げてみると動いたり動かなかったり・・・。毎度毎度調べるのも面倒なので、今回は自分への備忘録的にその辺りをまとめてみたいと思います。 upload_max_filesize upload_max_filesize とりあえず upload_max_filesize 。もう名前からしてモロ。これを変えないで何を変えるの。でもこれを変えただけだと動かない事が割りとよくあるのでご注意を。デフォルトは 2M です。 post_
qmailのログにはエラーメッセージが表示されており、hoge.comのメールアドレスには送信できない状態です。 メール送信がうまく行えず、困っております。。。 状況は以下のような感じとなっています。 あるドメイン(hoge.com)の Webサーバのみを管理していて、 メールサーバは外部の別サーバにて運用しています。 Webサーバ上よりPHPでhoge@hoge.comにメールを送信するプログラムを設置したのですが、送信できません。 qmailのログを見ると以下のようなエラーが出ておりました。 cannot reinject message to 'hoge@hoge.com' failure: This_address_no_longer_accepts_mail./ hoge.com以外のメールアドレスには問題なく送信できております。 環境は以下の通りです。 OS:CentOS PH
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く