fuelphp1.7インスト時のcomposerのアップデート
fuelphp1.7をZIPでDLしてXamppに移動。ブラウザで開くと「php composer.phar update」と言われた
fuelphp1.7をZIPでDLしてXamppに移動。ブラウザで開くと「php composer.phar update」と言われた
ブラウザを起動してゴニョゴニョするってヤツ。Composer必須っぽい。
Composerのメモ。
HTMLのパースを行おうとしたら1行目にあったXMLの記述が原因でエラーが出てきた。
特殊なページなのか、単純にShift_jISがダメなのか・・・
単純なタグをパースしたかった
Firebaseを使ったプッシュ通知をやるための下準備。テスト用の環境としてFirebase Hostingを使ってみる。
スマホじゃなくてデスクトップ(PC)にプッシュ通知を出したい
適当な環境を使ってテストしていると諸々エラーなり出てくる。そのときにつまづいた箇所。
サーチコンソールのデータをPHPでゴニョゴニョしたい。
以前、GoogleAPI使ってゴニョゴニョしていて・・・新たにGoogleAPIをDLして使うと「cURL error 60」が出てきた。
取得する方法と取得する前の設定(Google認証)。
GoogleをログアウトしてもGoogle認証されたままになっていることがある。
困ったときにソースを見ると解決することが多々ある。
各情報のリンクがまとまっていないのか・・・リンクでたどれないことが多々ある。
使う頻度が少ない割に使うときが面倒なので、zipにしておく。
JavaScriptの中でPHPの配列を少ない労力で使えるようにしたい。
formでファイルを送信して、PHPで受け取る
zipの中身はpngファイルで、サーバー上でゴニョゴニョしたい。PNG以外でも使える内容。
JSONの文字列を配列にしたり、その逆をしたり。json_encode()、json_decode()
HTMLのパースを行おうとしたら1行目にあったXMLの記述が原因でエラーが出てきた。
特殊なページなのか、単純にShift_jISがダメなのか・・・
いまだにベストな処理の流れにたどり着かない。
単純なタグをパースしたかった
formからファイルをアップロードしたいけど、サーバに送る前に容量チェックをしたい
分割アップロードとか・・・そんなヤツ。ライブラリは使わない。
Form送信時の値チェックについての諸々・・・メモ
HTMLに出力するとき「&」はエスケープしたくない
大きいファイルを分割して送る
Messaging APIを使いたいけど、まずはサンプル的な感じを動かしたい
Laravel(WIN+Docker+Ubuntu)でLINE APIを使ってみたいので、ひとまず届いたメッセージをそのまま返してみる
自身のURL、サーバのPATH、リファラなど($_SERVER、__FILE__とか)
エンコード、エンティティがいくつかあって何が何だか分からない。urlencode()・ urldecode()、base64_encode()・ base64_decode()、htmlspecial...
「/./」「/../」「/」などがついたPATHを絶対パスに変換
URLからファイル名だけ取得したい(PATHやURLのパース)
日本語ドメインじゃなく、ファイル名等に日本語が使われいるときの問題。
ファイルから拡張子を取得したい
リクエストURLのGETパラメータじゃなくて、ただのURLからGETパラメータを抽出したい
「hoge=1&foo=abc」みたいなヤツを作りたい
「phpEXCEL」ってヤツは非推奨となり、現在だと「phpoffice/phpspreadsheet」ってのを使うのが良いらしい。
メルマガとかメールをいっぱい送りたいとき
ブラウザを起動してゴニョゴニョするってヤツ。Composer必須っぽい。
「This version of ChromeDriver only supports Chrome version 〇〇〇~」というエラーがでてきた
いったんカレントをiframeに移してあげる必要アリ
テキストを取得したり、ボタンを押したり・・・そんなコトをしたいけどエラーが出てきた
Seleniumを実行したら「〇〇〇 is not executable.」というエラーがでてきた
seleniumを起動しようとすると「become available after 20000 ms.」って言われる。
セキュリティ的な問題。クリックジャッキングってヤツ
SQLインジェクションやCSRF対策など。
formのパスワードだったり、重要なデータなどを送るときと受け取るとき。
ユーザーの入力した情報を元に指定したディレクトリの中にアクセスさせたいが、相対PATH指定だと親にもアクセスができるので、その対策
暗号化したものを複合化したい(暗号にしたデータを元に戻す)
2020年あたりか、もっと前からか・・・ユーザーエージェントの取得が変わるって言われているっぽい
Form送信時の値チェックについての諸々・・・メモ
「hoge=1&foo=abc」みたいなヤツを作りたい
HTMLに出力するとき「&」はエスケープしたくない
文字列の各行をチェック or 全体でチェック
formでファイルを送信して、PHPで受け取る
zipの中身はpngファイルで、サーバー上でゴニョゴニョしたい。PNG以外でも使える内容。
URLからファイル名だけ取得したい(PATHやURLのパース)
日本語ドメインじゃなく、ファイル名等に日本語が使われいるときの問題。
特殊なページなのか、単純にShift_jISがダメなのか・・・
「htmlと処理は分けましょう」っていう観点から考えるとしょうがないんだけど・・・それでもどうにかしたい。
「file_put_contents()」だと保存先のPATHが無ければエラーになってしまうので、その対策
サーバー上のファイルをダウンロードさせるのか、テキスト等をファイルでダウンロードさせるのか、ZIPにしてダウンロードさせるのか・・・
CSVファイルで、「0001」が「1」と表示される。
そのままアップすると落ちる・・・。メモリの割り当て変更がNGのとき。jQuery-File-Uploadってのを使うとき。
CSVだったりTSVをサクッと読み込ませたい
ブラウザとコンソールで何かを出力させたりすると、パーミッション絡みが面倒だったりする。
ファイルのアップロード時の制限を変更したい。「ini_set()」は使えない・・・とか。
例えば、1週間以上前の一時保存のファイルをマルっと削除したい。
画像やpdfをブラウザで表示したい
ファイルから拡張子を取得したい
ファイルが存在するかチェック
何万行とかあるデータをゴニョゴニョしたい。途中で落ちたら・・・次回は途中から実行させたい
CSVファイルには何万件もレコードがある。しかもSHIFT-JIS。どうにかしたいとき。
404や500のときのレスポンスボディを取得したかった
localhostのデータが取得できない
Localeの「ja-JP」と「ja_JP」が問題っぽい
PDFファイルをブラウザに出力 or ダウンロードをしたい。雛形のPDFに追記して出力・ダウンロードしたい
大きいファイルを分割して送る
適当な環境を使ってテストしていると諸々エラーなり出てくる。そのときにつまづいた箇所。
finfo_open()を使うとXampp環境でエラーが出てきた。
FuelPHPで出たエラーだけど、FuelPHPに限らない。
HTMLのパースを行おうとしたら1行目にあったXMLの記述が原因でエラーが出てきた。
「htmlと処理は分けましょう」っていう観点から考えるとしょうがないんだけど・・・それでもどうにかしたい。
「file_put_contents()」だと保存先のPATHが無ければエラーになってしまうので、その対策
処理の流れ上、updateしたあと、もう一回updateしたかった。
FuelPHPで、ブラウザのときは問題無いけどコンソールからOIL実行したらエラーが出てきた。
「SimpleXMLElement::addChild(): unterminated entity reference」のエラーが出てきた。
PHP7で作ったものを古いPHPで動かそうとしたらエラーになっていた。
localhostのデータが取得できない
PHPをバージョンアップすれば解決するヤツ・・・
「unserialize(): Error at offset 5 of 36 bytes」というエラーがでてきた
ログ出力させるけど何があれば後々ラクなのか…そのメモ
PHPのスクリプトブロック(<?php /* ... */ ?>)だとエラーなので、その対応
基本、半角文字。全角文字もいけるヤツもあるかもしれないけど、基本、別の関数が用意されている。
大文字・小文字、仮名・カナ、全角・半角などの変換。
文字コードの変換と変換するための元の文字コードの調査について
手っ取り早いのは「mb_strimwidth()」。でも条件によっては望まない感じになる。
文字数やbyte(バイト)数、UTF8絡みだったり。
「trim()」は「全角空白」を削除してくれないので、その対応。
「str_replace()」は文字の置き換えなんだけど、第4引数を使うと置き換えた個数が取得できる。
範囲を指定して、その中で文字列を置き換えたい。
特定の文字じゃなく、タグの中身をゴニョゴニョしたい。
以前調べたとき、見つけられなかったけど簡単に確認することができるっぽい。
文字を適当な文字をつけて連結していきたいけど、配列にしてからimplode()するか、「.=」で文字をくっつけていくかで悩む。
「9」を「09」にしたり「1000」を「1,000」にしたりする
ブラウザでちょっとした確認用として単純にechoしただけだと文字化けするので、utf-8出力するように対応。
ハイフンと同じような文字がそれなりに存在するので統一したい。unicodeで指定・置き換え。
絵文字をDBにつっこんだら「????」と文字化けする
文字列の各行をチェック or 全体でチェック
「date('m月', strtotime('-1 month'))」が先月じゃなく、今月が表示されることがある。
「strtotime()」の範囲が2038年あたりなので「DateTime()」を使おう・・・という内容。日付の差分なども。
たまに処理に何ミリ秒かかったのか調べなくちゃいけないときがある。
「01月」と「1月」の書式の指定
タイムアウト時のエラーを取得したい
タイムアウトの制限時間(秒 or ミリ秒)を設定
「CURLOPT_HEADER:true」にすればいいけど、ヘッダとボディがまとまっているので分割させる
日本語ドメインじゃなく、ファイル名等に日本語が使われいるときの問題。
DELETEメソッドってのもいるらしく、それを使いたい
ある日、Webページが開かなくなった(ERR_EMPTY_RESPONSE)。Chromeは「Provisional headers are shown」と言っている。
cUrl()でよく使うヤツは自分用に関数化しているんだけど、たまにちょっとだけ使いたいときがある。そのときのサンプル
APIとかで「HTTPコード:204」を返すときはボディは空っぽになる
リクエストヘッダを取得するためにlaravelの「\Request::header()」を使っても取得できない項目がいる
localhostのデータが取得できない
file_get_contents()をしていたらやらた時間がかかるので、調査・対応。結局は、Wifiを買い替えたのが原因
formからファイルをアップロードしたいけど、サーバに送る前に容量チェックをしたい
「$_SERVER['HTTP_USER_AGENT']」を渡したい
PHPで、CSVのような何かで区切った文字列を配列にしたりその逆だったり。CSV→配列:explode()、配列→CSV:implode()
配列の中身が空のときはfalseになるっぽい
微妙に忘れる内容のメモ。「配列のキーだけ取得」や「値が含まれるか」、「配列の削除」など。
配列で10個の要素を2等分や3等分にしたい。
一つのキーでソートしたり、複数のキーでソートしたりしたい。
文字を適当な文字をつけて連結していきたいけど、配列にしてからimplode()するか、「.=」で文字をくっつけていくかで悩む。
配列の空データを削除したい or 特定の文字列の場合、削除したい等。
親子関係を表した多次元配列がある。でも欲しいのは親子関係無しの一次元配列。
「キーから値を取得」じゃなくて「値からキーを取得」したい
配列内にあるデータが重複しているか、重複データのみ・重複していないデータのみの抽出など
「array_diff_assoc()」だと多重配列の比較が出来ないので独自関数を用意
配列の任意のキーにアクセスするときのエラーを防ぎたい
Firebaseを使ったプッシュ通知をやるための下準備。テスト用の環境としてFirebase Hostingを使ってみる。
スマホじゃなくてデスクトップ(PC)にプッシュ通知を出したい
適当な環境を使ってテストしていると諸々エラーなり出てくる。そのときにつまづいた箇所。
fuelphp1.7をZIPでDLしてXamppに移動。ブラウザで開くと「php composer.phar update」と言われた
基本、半角文字。全角文字もいけるヤツもあるかもしれないけど、基本、別の関数が用意されている。
自身のURL、サーバのPATH、リファラなど($_SERVER、__FILE__とか)
大文字・小文字、仮名・カナ、全角・半角などの変換。
文字コードの変換と変換するための元の文字コードの調査について
サーチコンソールのデータをPHPでゴニョゴニョしたい。
以前、GoogleAPI使ってゴニョゴニョしていて・・・新たにGoogleAPIをDLして使うと「cURL error 60」が出てきた。
取得する方法と取得する前の設定(Google認証)。
GoogleをログアウトしてもGoogle認証されたままになっていることがある。
困ったときにソースを見ると解決することが多々ある。
それぞれの記述、整数部の処理を行いたいなど・・・まとめてみた。
各情報のリンクがまとまっていないのか・・・リンクでたどれないことが多々ある。
for()やwhile()などループにも色々とある。
JavaScriptの中でPHPの配列を少ない労力で使えるようにしたい。
手っ取り早いのは「mb_strimwidth()」。でも条件によっては望まない感じになる。
エンコード、エンティティがいくつかあって何が何だか分からない。urlencode()・ urldecode()、base64_encode()・ base64_decode()、htmlspecial...
PHPで、CSVのような何かで区切った文字列を配列にしたりその逆だったり。CSV→配列:explode()、配列→CSV:implode()
formでファイルを送信して、PHPで受け取る
finfo_open()を使うとXampp環境でエラーが出てきた。
zipの中身はpngファイルで、サーバー上でゴニョゴニョしたい。PNG以外でも使える内容。
JSONの文字列を配列にしたり、その逆をしたり。json_encode()、json_decode()
「/./」「/../」「/」などがついたPATHを絶対パスに変換
キャッシュが残って最新の表示になってくれない。
文字数やbyte(バイト)数、UTF8絡みだったり。
「trim()」は「全角空白」を削除してくれないので、その対応。
phpMyAdminが使えないときの別手段。
FuelPHPで出たエラーだけど、FuelPHPに限らない。
「date('m月', strtotime('-1 month'))」が先月じゃなく、今月が表示されることがある。
タイムアウト時のエラーを取得したい
タイムアウトの制限時間(秒 or ミリ秒)を設定
パーミッションみたいに「〇〇を含む」ようなことをしたい。
「str_replace()」は文字の置き換えなんだけど、第4引数を使うと置き換えた個数が取得できる。
URLからファイル名だけ取得したい(PATHやURLのパース)
HTMLのパースを行おうとしたら1行目にあったXMLの記述が原因でエラーが出てきた。
範囲を指定して、その中で文字列を置き換えたい。
「CURLOPT_HEADER:true」にすればいいけど、ヘッダとボディがまとまっているので分割させる
非常に面倒なメアドのバリデーションチェック。PHPだと「filter_var()」でチェック可能
日本語ドメインじゃなく、ファイル名等に日本語が使われいるときの問題。
特定の文字じゃなく、タグの中身をゴニョゴニョしたい。
以前調べたとき、見つけられなかったけど簡単に確認することができるっぽい。
特殊なページなのか、単純にShift_jISがダメなのか・・・
「htmlと処理は分けましょう」っていう観点から考えるとしょうがないんだけど・・・それでもどうにかしたい。
頻繁に使う記述なんだけど、なにげに忘れやすい。本当は、いつも前のソースからコピペしているから覚えていない・・・。
「file_put_contents()」だと保存先のPATHが無ければエラーになってしまうので、その対策
DBにシリアライズした値を保存、取り出して元に戻したりしたい。
var_dump()は実行すると即出力されるので、いったん変数に格納したい(あとでログに保存させたりしたい)
DELETEメソッドってのもいるらしく、それを使いたい
配列の中身が空のときはfalseになるっぽい
セキュリティ的な問題。クリックジャッキングってヤツ
ランダムで適当なIDを発行したい。「一意なIDを生成」なはずだけど「一意なID」ではないことがある。
いまだにベストな処理の流れにたどり着かない。
サーバー上のファイルをダウンロードさせるのか、テキスト等をファイルでダウンロードさせるのか、ZIPにしてダウンロードさせるのか・・・
CSVファイルで、「0001」が「1」と表示される。
処理の流れ上、updateしたあと、もう一回updateしたかった。
微妙に忘れる内容のメモ。「配列のキーだけ取得」や「値が含まれるか」、「配列の削除」など。
多分、どうしようもない場合にやる内容。
そのままアップすると落ちる・・・。メモリの割り当て変更がNGのとき。jQuery-File-Uploadってのを使うとき。
SQLインジェクションやCSRF対策など。
PHP5.Xと7.Xの環境がそれぞれ必要になった。
配列で10個の要素を2等分や3等分にしたい。
例外処理は・・・「throw new Exception」のスペルを覚えるのに時間がかかる。コピペばっかりだから余計に時間がかかる。
あらかじめ設定されている定数や自分でdefine()した定数の一覧を取得したい
「strtotime()」の範囲が2038年あたりなので「DateTime()」を使おう・・・という内容。日付の差分なども。
CSVだったりTSVをサクッと読み込ませたい
例えば、色々なトコにいる人たちに確認してもらいながら、ゴニョゴニョしたい・・・自分と同じIPの人だけ何かしたい。
FuelPHPでDateTimeクラスを使うとエラーが出てきた
「改行コードはCRLF」と言われると「\n\r」と「\r\n」のどっちだっけ?と思ってしまう。
一つのキーでソートしたり、複数のキーでソートしたりしたい。
ブラウザとコンソールで何かを出力させたりすると、パーミッション絡みが面倒だったりする。
FuelPHPで、ブラウザのときは問題無いけどコンソールからOIL実行したらエラーが出てきた。
ファイルのアップロード時の制限を変更したい。「ini_set()」は使えない・・・とか。
たまに処理に何ミリ秒かかったのか調べなくちゃいけないときがある。
例えば、1週間以上前の一時保存のファイルをマルっと削除したい。
画像やpdfをブラウザで表示したい
ある日、Webページが開かなくなった(ERR_EMPTY_RESPONSE)。Chromeは「Provisional headers are shown」と言っている。
ファイルから拡張子を取得したい
ファイルが存在するかチェック
wordpressみたいにテキストエリアに入れた改行ありの文字列をHTMLで整形した状態にしたい。
文字を適当な文字をつけて連結していきたいけど、配列にしてからimplode()するか、「.=」で文字をくっつけていくかで悩む。
LinuxのコマンドをPHPで実行したい。
「9」を「09」にしたり「1000」を「1,000」にしたりする
「file_get_contents()」でPHPファイルを読み込むときの結果の違い。
何万行とかあるデータをゴニョゴニョしたい。途中で落ちたら・・・次回は途中から実行させたい
cUrl()でよく使うヤツは自分用に関数化しているんだけど、たまにちょっとだけ使いたいときがある。そのときのサンプル
配列の空データを削除したい or 特定の文字列の場合、削除したい等。
「SimpleXMLElement::addChild(): unterminated entity reference」のエラーが出てきた。
PHP7で作ったものを古いPHPで動かそうとしたらエラーになっていた。
PHPのバージョンが5.6.0以降のとき利用可能。
CSVファイルには何万件もレコードがある。しかもSHIFT-JIS。どうにかしたいとき。
ブラウザを起動してゴニョゴニョするってヤツ。Composer必須っぽい。
既存サイトにFuelPHPを追加してから、既存サイトからFuelPHPで用意した何かを使いたいとき。
Composerのメモ。
ファイルの読込みとかでBOM付きだと面倒なコトになるので削除させたい
親メソッドの書き換えや親メソッドを使う・・・など
ブラウザでちょっとした確認用として単純にechoしただけだと文字化けするので、utf-8出力するように対応。
単純なタグをパースしたかった
親子関係を表した多次元配列がある。でも欲しいのは親子関係無しの一次元配列。
formのパスワードだったり、重要なデータなどを送るときと受け取るとき。
使う頻度が少ない割に使うときが面倒なので、zipにしておく。
日時のズレはtimezoneの設定ミスの可能性アリ
デバッグやログの出力で使える定数たち
CMDでPHPを実行→出力結果が文字化け・・・・PHPがUTF8にしているので、CMDもUTF8にする必要あり
404や500のときのレスポンスボディを取得したかった
APIとかで「HTTPコード:204」を返すときはボディは空っぽになる
リクエストヘッダを取得するためにlaravelの「\Request::header()」を使っても取得できない項目がいる
Wordpressでエクスポートしたら「CDATA」がいっぱいいたので何者か調べてみた
「simplexml_load_file()」「simplexml_load_string()」を使ってXMLの中にいるCDATAの値を取得する
整数の最大値:9京ちょい
「EOD」や「EOF」とかで囲まれたヤツら。
「キーから値を取得」じゃなくて「値からキーを取得」したい
BASE64エンコードして画像をHTMLやCSSに埋め込みたい
コメントじゃなくassert()で想定条件を明記する
配列内にあるデータが重複しているか、重複データのみ・重複していないデータのみの抽出など
「This version of ChromeDriver only supports Chrome version 〇〇〇~」というエラーがでてきた
いったんカレントをiframeに移してあげる必要アリ
BASIC認証が必要なトコにcURLでアクセスしたい
単純なCSVを配列に変換。マルチバイトにも対応させる。
テキストを取得したり、ボタンを押したり・・・そんなコトをしたいけどエラーが出てきた
Seleniumを実行したら「〇〇〇 is not executable.」というエラーがでてきた
seleniumを起動しようとすると「become available after 20000 ms.」って言われる。
ユーザーの入力した情報を元に指定したディレクトリの中にアクセスさせたいが、相対PATH指定だと親にもアクセスができるので、その対策
in()とかでbindがそのまま使えないときとか。
暗号化したものを複合化したい(暗号にしたデータを元に戻す)
localhostのデータが取得できない
「phpEXCEL」ってヤツは非推奨となり、現在だと「phpoffice/phpspreadsheet」ってのを使うのが良いらしい。
file_get_contents()をしていたらやらた時間がかかるので、調査・対応。結局は、Wifiを買い替えたのが原因
PHPをバージョンアップすれば解決するヤツ・・・
メルマガとかメールをいっぱい送りたいとき
Localeの「ja-JP」と「ja_JP」が問題っぽい
debug_backtrace()の行数についてちょっとした勘違い・・・
コマンドラインで実行したときのオプションを引数として受け取りたい
jsonを修正して、jsonに戻したい(※括弧の数とかあまり考えたくない)
404自体は問題ないけど、404が原因で他のトコでエラーになるという問題発生したので・・・その解決にいたるまで。
namespace(名前空間)があると面倒
「unserialize(): Error at offset 5 of 36 bytes」というエラーがでてきた
レコードを追加しても問題はないけどinformation_schemaのauto_incrementを見ると値が更新されていない
クラスの中と外で呼び出す時が微妙に記載が異なる
formからファイルをアップロードしたいけど、サーバに送る前に容量チェックをしたい
分割アップロードとか・・・そんなヤツ。ライブラリは使わない。
file_put_contents()を実行したときのwarnigを例外に飛ばしたい。でもfile_get_contents()では例外に飛ばしたくない。
リクエストURLのGETパラメータじゃなくて、ただのURLからGETパラメータを抽出したい
2020年あたりか、もっと前からか・・・ユーザーエージェントの取得が変わるって言われているっぽい
Form送信時の値チェックについての諸々・・・メモ
「01月」と「1月」の書式の指定
ハイフンと同じような文字がそれなりに存在するので統一したい。unicodeで指定・置き換え。
「hoge=1&foo=abc」みたいなヤツを作りたい
PDFファイルをブラウザに出力 or ダウンロードをしたい。雛形のPDFに追記して出力・ダウンロードしたい
Messaging APIを使いたいけど、まずはサンプル的な感じを動かしたい
Laravel(WIN+Docker+Ubuntu)でLINE APIを使ってみたいので、ひとまず届いたメッセージをそのまま返してみる
FuelPHPだと渡せてたんだけどLaravelだとエラーになる。調べたら基本ムリっぽいらしい
「array_diff_assoc()」だと多重配列の比較が出来ないので独自関数を用意
datetimeオブジェクトを使って処理速度とメモリ使用量を出力したい
ログ出力させるけど何があれば後々ラクなのか…そのメモ
絵文字をDBにつっこんだら「????」と文字化けする
HTMLに出力するとき「&」はエスケープしたくない
PHPのスクリプトブロック(<?php /* ... */ ?>)だとエラーなので、その対応
APIの認証にBearer認証ってのがあって…諸々メモ
配列の任意のキーにアクセスするときのエラーを防ぎたい
大きいファイルを分割して送る
「$_SERVER['HTTP_USER_AGENT']」を渡したい
各データの取る値の各組合せを作成したい
文字列の各行をチェック or 全体でチェック