PHP

PHP LINE送信テスト

php

まずLINEに登録しているメールアドレスとパスワードでLINE Notifyのページ(https://notify-bot.line.me/ja/)にログインします。 登録メールアドレスは、LINEアプリの『設定>アカウント』から確認することが出来ます。 LINE Notifyにログインしてマイページを…

phpの正規表現チェッカー

php

便利http://okumocchi.jp/php/re.php

phpで文字化けしたときの対処方法(utf-8)

php

ã????utf-8のつもりなのに日本語が文字化けしたら utf8_decode()かましてみたら治るかも。 ネタ元 https://stackoverflow.com/questions/5127744/how-to-convert-these-strange-characters-%C3%83-%C3%83-%C3%83%C2%AC-%C3%83%C2%B9-%C3%83

phpでURLエンコードとデコード

php

urlencode() / urldecode()確認するツールはこちら https://tech-unlimited.com/urlencode.html ネタ元 https://qiita.com/ma_me/items/c3c19933770ddc5880ec https://www.php.net/manual/ja/function.urldecode.php

phpquery使ってスクレイピングしたときのメモ

php

bodyタグ内の先頭のdivを取得 $div = $doc->find("body div:eq(0)"); ネタ元 http://it.blog.cafe268.com/phpquery-snipet/ 連想配列、配列への追加 $hime_array = array(); array_push($hime_array,$url); ネタ元 https://qiita.com/kazu56/items/6947a0e48…

PHPでスクレイピング

php

phpQuery使うと楽っぽいcurlが使えると、ログイン必要なサイトもいけるみたい ネタ元 https://www.tam-tam.co.jp/tipsnote/program/post9744.html http://wisteriahill.sakura.ne.jp/web_scraping/index2.html

PHP 日付を変換するあれこれ

PHP

yyyymmddにするなら echo date("Ymd" ,strtotime("2020-01-02")); ネタ元 https://wepicks.net/phpsample-date-fmtchange/

phpでExcel操作(PHPExcel)

php

※今では非推奨となったが、古いPHP環境で動かすならPHPExcelを使うしかない。新しい環境ならPHPOffice/PhpSpreadsheetを使ってね。 準備 PHPExcelのコードをgithubからzipでダウンロード 解凍してClassesフォルダ内にあるPHPExcelフォルダとPHPExcel.phpをサ…

phpでurl指定でファイルを保存(ダウンロード)

php

//メモリにファイル全てを読み込まずに、新しいファイルへ保存する。 function download($fromurl, $tofile) { $fp = fopen($fromurl, 'r'); $fpw = fopen($tofile, 'w'); $size = 0; while (!feof($fp)) { $buffer = fread($fp, 1024); if ($buffer === fal…

PHPで特定の文字列を含むか確認

php

正規表現を使わない場合はstrpos()を使う。該当する文字列が見つかった位置を数値で返すので型までチェックする必要がある。そのため、===falseもしくは!==falseを使う。 if(strpos($subject,'bc') !== false){ //'abcd'のなかに'bc'が含まれている場合 } if…

PHPのtrim() - 文字列の先頭および末尾にあるホワイトスペースを取り除く

php

半角/全角スペースに対応 $email = trim ($email," \t\n\r\0\x0B "); ネタ元 https://www.php.net/manual/ja/function.trim.php

PHPで日時比較 日本時間 UNIX Timeと日付(タイムスタンプ)の変換

PHP

date_default_timezone_set('Asia/Tokyo'); // 日本時間 $timestamp_now = time() ; // 今の日時 $timestamp_chg1 = mktime(0,0,0,9,1,2019); // 比較日 2019/9/1 echo date( "Y/m/d H:i:s" , $timestamp_chg1 ) ; // 再変換して確認 if( $timestamp_now < $…

PHPでURLデコード

PHP

$urld_from = urldecode($from_addres);

PHPにてSendGridでメールを送信するシンプルサンプル

PHP

準備 https://github.com/sendgrid/sendgrid-php/releases/download/v7.2.1/sendgrid-php.zip ここから最新版のsendgrid-phpを取得してきて、ftpでsendgrid-phpというフォルダつくって中身をアップロード コード $fromAddrに送信元アドレス、$toAddrに送信先…

外部phpを実行するならexec

php

exec()返り値や成否を確認するには引数付ける 成功なら$rtnが0、失敗なら1になる。実行結果の配列は空でステータスは127なら(エラー:コマンドを特定できない)という意味。 exec('mtime', $out, $rtn); print_r( $out ); echo "<br />"; echo $rtn;phpを実行するな…

SJISで処理してるPHPコードでURLデコード

PHP

urlencodeのマニュアルを見ても第一引数しかありませんが、 mb_convert_encodingで文字列をエンコードすれば、 出力したい文字コードでurlエンコードできます。 $tmpname = "URL%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88";…

phpのPearのMAILライブラリを使ってsendgridでのメール送信

php

引数でfrom to指定して空メール送信

PHPでshift-jisでファイル出力

PHP

出力する文字列をshift-jisで統一すればOK mb_convert_encoding($tmp, 'SJIS-win', 'UTF-8'); ネタ元 https://kantaro-cgi.com/blog/php/save_csv_by_sjis.html

PHPのforearchで連想配列からキーと値を取得

PHP

foreach (配列変数 as キー変数 => 値変数){ 実行する処理1; 実行する処理2; } ネタ元 https://www.javadrive.jp/php/for/index9.html

PHPで正規表現で日付部分抽出

PHP

preg_match_all("/\d{4}.\d{2}.\d{2}/", $tmp_data, $array_result); echo $array_result[0][0]; ネタ元 https://qiita.com/tsuuuuu_san/items/b88b0662426f2b956c77

今日から1年先までの年月日出力(日付の加算)

php

$tmp_date = new DateTime(); for ($i = 1; $i <= 366; $i++) { // 土日抜き $week = $tmp_date->format("w"); if( $week != 0 and $week != 6 ){ echo $tmp_date->format('Y/m/d'); echo '<br>'; } $tmp_date->modify('+1 days'); } ネタ元 https://blog.codeca…

php.iniを直接編集できないレンタルサーバーで、php.iniの設定を.htaccessで変更する

php

まずinfo.phpを以下の内容でつくってサーバーにアップ。 info.phpにアクセスして、phpの設定状況を確認する。変更したいパラメータを確認し、.htaccessに以下のように記述ちなみにこの3つの項目は下記のような関係になるように設定しなければいけません。 me…

PHPのバージョン上げたらWarning: array_multisort(): Argument #1 is expected to be an array or a sort flag対策

PHP

array_multisort($sort_key, SORT_DESC, SORT_NUMERIC, $data);としたら $sort_keyと$dataが配列だと宣言してないとワーニング出る $data= array(); $sort_key = array();とかね ネタ元 https://kurosawa0626.wordpress.com/2014/04/04/array_multisort%E3%8…

PHPのバージョン上げたらWarning: count(): Parameter must be an array or an object that implements Countable対策

PHP

前のバージョンではcount(NULL)に対して0を返していたが、PHP7.2からwarningを出しているなので if (is_array($hoge)) { count($hoge); }と回避しないとアカン ネタ元 https://qiita.com/masaki-ogawa/items/1671d110b2286ececd09

phpのバージョン上げたらWarning: Use of undefined constantの対策

php

今までは define(CONSTANT, "Hello world."); echo CONSTANT; // "Hello world." を出力しますでもOKだったけど define("CONSTANT", "Hello world."); echo CONSTANT; // "Hello world." を出力しますとくくらないとダメになった。 ネタ元 http://php.net/ma…

PHPのワーニング・エラーレベル調整

PHP

1. php.iniで指定する場合。 ※ Webサーバ(Apache)の再起動が必要です。 ;全てのエラー・警告を出力する場合 error_reporting = E_ALL ;エラー(スクリプトの実行が中断される)のみ出力する場合 error_reporting = E_ERROR ;警告(スクリプトの実行が中断…

PHPのバージョン上げたら文字化けした場合

PHP

Shift JISの文字コードで書いてあるページなら php.iniに以下記述 default_charset = sjis ネタ元 https://qiita.com/phanect/items/550bc0a1c671a4b9a720 http://www.bnote.net/windows/windows/code.shtml

PHPでメール送信を行う

php

mb_language("Japanese"); mb_internal_encoding("UTF-8"); $to = "送る先@email.com"; $subject = "題名"; $body = "本文"; $header = "From:送り元@mail.com"; mb_send_mail($to, $subject, $body, $header); ネタ元 https://techacademy.jp/magazine/11629…

PHPでPOST送信する方法

php

こんな感じ $url_name, 'password' => $password ); $content = http_build_query($data); $options = array('http' => array( 'method' => 'POST', 'content' => $content )); $contents = file_get_contents($url, false, stream_context_create(…

PHPでIPアドレスを取得する

php

echo $_SERVER['REMOTE_ADDR']; ネタ元 http://uxmilk.jp/25515