PHP

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() ネタ元 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1146228991

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

phpで”REMOTE_HOST”が取得できない場合の解決法

php

gethostbyaddr()でIPから変換。 ネタ元 http://blog.dacelo.info/apache/entry-1077.html

PHPで文字列置換はstr_replace

PHP

// <body text='black'> となります $bodytag = str_replace("%body%", "black", "<body text='%body%'>"); ネタ元 http://php.net/manual/ja/function.str-replace.php</body></body>

PHP-数値を文字列として表示する

PHP

$a = 123456789; $str = strval($a); // ‘123456789’ ネタ元 http://univetech.com/%E6%95%B0%E5%80%A4%E3%82%92%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%81%97%E3%81%A6%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B-25.html

PHPでデータをCSV出力する

php

phpでunixtimeから日時に変換

php

$date_unixtime_str = '946652400'; $date = new DateTime('@' . $date_unixtime_str); echo $date->format('Y-m-d H:i:s'); ネタ元 https://qiita.com/sounisi5011/items/d6df76798d2e23c83e14

PHPで配列の最初の要素を取るならcurrent()

PHP

$first = current($arr); ネタ元 http://bashalog.c-brains.jp/15/02/25-175724.php