「 サンプルコード 」 一覧
-
CakePHP3 サイトマップ(Sitemap)作成のサンプルコード
=簡易メモ= ・TOPページと店舗一覧の圧縮サイトマップ(sitemap.xml.gz)をwebroot直下に作成する。 ◯ 店舗用のテーブル定義 [crayon-600fb36d7ea51 …
-
CakePHP3 リンク切れチェックツールのサンプルコード(Shell)
CakePHP3 リンク切れチェックツールのサンプルコード(Shell)です。 ● サンプルコードの処理 ・配列に設定されたチェック対象URLリストをループ処理する。 ・リダイレクト(301 …
-
2017/12/12 -コントローラー(Controller)
自動ログイン, 乱数生成, Auth, Cookie, TableRegistry, サンプルコード, deleteAll, where, findCakePHP3 自動ログイン(オートログイン)機能のサンプルコードです。 =簡易メモ= ・ユーザーログイン画面にて自動ログインにチェックされていた場合、Cookie(AUTO_LOGIN)セットする …
-
CakePHP3 基本的なメール送信のサンプルコードです。
123456789101112131415161718192021222324<?phpnamespace App\Controller;use Cake\Mailer\Email; // Emailクラスclass UsersController extends AppController{public function index(){$email = new Email('default');// CakePHP ~3.3$email->from('me@example.com') // 送信元アドレス->to('you@example.com') // 送信先アドレス->subject('About') // 件名->send('My message'); // 本文// CakePHP 3.4~$email->setFrom('me@example.com') // 送信元アドレス->setTo('you@example.com') // 送信先アドレス->setSubject('About') // 件名->send('My message'); // 本文}}
-
jQuery UI モーダルでダイアログを開くサンプルコード
jQuery UI モーダル(modal)でダイアログを開くサンプルコードです。 ※ jQuery 3.1 / jQuery UI 1.12 [crayon-6 …
-
CakePHP3 Shell(シェル)プログラムのサンプルコード
2017/12/04 -CakePHP3
Linuxコマンドプロンプト, shell, サンプルコードCakePHP3 Shell(シェル)プログラムのサンプルコードです。 ※ LinuxコマンドプロンプトからShell実行して、MSG「Shellテスト」を表示する [crayon-600f …
-
JavaScript 数字先頭に0を追加する関数のサンプルコード
2017/12/04 -jQuery3
JavaScript, サンプルコード, 関数JavaScript 数字の先頭に0を追加する関数のサンプルコードです。
12345678910111213<script>console.log(digitFormat(1,3)); // 出力ログ:001// 数字の先頭に0を追加してdigitで指定された桁数に変換するfunction digitFormat(num, digit) {var len = String(num).length;if(digit > len) {return (new Array((digit - len) + 1).join(0)) + num;} else {return num;}}</script>
-
JavaScript 日付と時刻チェック(YmdHi)関数のサンプルコード
2017/12/04 -jQuery3
date, JavaScript, サンプルコード, 関数JavaScript 日付と時刻チェック(YmdHi)関数のサンプルコードです。
123456789101112131415161718192021222324252627282930// 日付と時刻チェックのサンプルコード<script>console.log(checkDate(2017,12,04));console.log(checkTime(10,11));// 日付チェック(戻り値: true or false)// ex) Y:2017, m:12, d:04function checkDate(Y, m, d) {var m = parseInt(m, 10);var d = parseInt(d, 10);var check_date = Y+'/'+m+'/'+d;var date = new Date(check_date);if ( check_date == (date.getFullYear()+'/'+(date.getMonth()+1)+'/'+date.getDate()) ) {return true;} else {return false;}}// 時刻チェック(戻り値: true or false)// ex) H:10, i:11function checkTime(H, i) {var H = parseInt(H, 10);var i = parseInt(i, 10);if (0 <= H && H <= 23 && 0 <= i && i <= 59) {return true;} else {return false;}}</script>
-
jQuery3 animateで指定位置まで移動するサンプルコード
jQuery3 animateで指定位置まで移動するサンプルコードです。
123456789101112131415161718<div id="test"></div><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script>animate_scroll($('#test'));// targetまでanimateにて移動function animate_scroll(target) {if (!target) {return false;}var target_position = target.offset().top; // 移動位置取得var adjustment_num = 20; // 位置調整(targetから上に20px)target_position = ((target_position - adjustment_num) > 0) ? (target_position - adjustment_num) : 0;$('html, body').animate({scrollTop: target_position}, 400, 'linear');}</script>
-
CakePHP3 ビュー(Template)から独自Helperを使うサンプルコード
2017/12/02 -ビュー(Template)
Helper, サンプルコードCakePHP3 ビュー(Template)から独自Helperを使うサンプルコードです。 ◯ 独自Helper
123456789101112131415161718192021222324// ファイル名 「src/View/Helper/Cake3Helper.php」<?phpnamespace App\View\Helper;use Cake\View\Helper;class Cake3Helper extends Helper{public function initialize(array $config){parent::initialize($config);}// trailing slash(末尾スラッシュの統一)public function addslash($url){if (preg_match('/\/$/', $url)) {return $url;} else {return $url.DS;}}}…
-
CakePHP3 フラッシュメッセージを4秒後に非表示にする方法
2017/12/01 -ビュー(Template)
delay, fadeIn, fadeOut, 非表示, フラッシュメッセージ, サンプルコードCakePHP3 フラッシュ(flash)メッセージを4秒後に非表示にするサンプルコードです。
123456789// ctpファイルに追記する<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script>$(function(){$('div.message').fadeIn('slow', function() {$(this).delay(4000).fadeOut('slow');});});</script>
-
CakePHP3 ImageMagickで写真(画像)リサイズするサンプルコード
2017/12/01 -コントローラー(Controller)
リサイズ, ImageMagick, サンプルコード◯ CakePHP3 ImageMagickで写真(画像)リサイズするサンプルコードです。
123456789101112131415161718192021222324252627282930// サンプルコード// 縦: xxxpx -> 600px// 写真パス$photo_file_path = '写真パス';// 写真読み込み$imagick_img = new \Imagick($photo_file_path);// 写真サイズ取得$img_width = $imagick_img->getImageWidth();$img_height = $imagick_img->getImageHeight();// 写真リサイズ// 縦サイズ601px以上だったら縦サイズ600pxにリサイズ$max_height = 600;if (!empty($img_width) && !empty($img_height) && ($max_height < $img_height)) {// リサイズ処理if (!$imagick_img->resizeImage(0, $max_height, \Imagick::FILTER_POINT, 1)) {// resizeImageエラー}}// 写真上書き保存if (!$imagick_img->writeImage($photo_file_path)) {// 上書き保存エラー}// Imagick clear$imagick_img->clear();関連リンク:CentO …
-
CakePHP3 ImageMagickで写真(画像)圧縮するサンプルコード
2017/12/01 -コントローラー(Controller)
圧縮品質, 写真圧縮, ImageMagick, サンプルコード◯ CakePHP3 ImageMagickで写真(画像)圧縮するサンプルコードです。
123456789101112131415161718192021222324252627282930313233// サンプルコード// 対象ファイル:JPEG,PNG,GIF// 圧縮品質:80// 写真パス$photo_file_path = '写真パス';// 写真拡張子取得$file_extension = pathinfo($photo_file_path, PATHINFO_EXTENSION);// 写真読み込み$imagick_img = new \Imagick($photo_file_path);// 写真圧縮設定if ($file_extension == 'jpeg' || $file_extension == 'jpg') {$imagick_img->setImageFormat('jpg');$imagick_img->setImageCompression(\Imagick::COMPRESSION_JPEG);} elseif ($file_extension == 'png') {$imagick_img->setImageFormat('png');$imagick_img->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);} else {$imagick_img->setImageFormat('gif');$imagick_img->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);}$imagick_img->setImageCompressionQuality(80);// 写真上書き保存if (!$imagick_img->writeImage($photo_file_path)) {// 上書き保存エラー}// Imagick clear$imagick_img->clear();関連リンク:CentOS6 …
-
CakePHP3 写真から位置情報(GPS)を取得するサンプルコード
2017/12/01 -コントローラー(Controller)
GPS, 位置情報, longitude, latitude, EXIF, サンプルコード, 緯度, exif_read_data, 経度, 高度◯ CakePHP3 写真から位置情報(GPS)を取得するサンプルコードです。
1234567891011121314151617181920212223242526272829303132333435363738394041424344class UsersController extends AppController{public function index(){// Exif取得(EXIFヘッダを読み込む)$exif_data = @exif_read_data('画像パス');// GPS(緯度・経度)取得if (isset($exif_data) && !empty($exif_data['GPSLatitudeRef']) && !empty($exif_data['GPSLatitude']) && !empty($exif_data['GPSLongitudeRef']) && !empty($exif_data['GPSLongitude'])) {$gps_lat = $this->exif_get_10_from_60($exif_data['GPSLatitudeRef'], $exif_data['GPSLatitude']);$gps_long = $this->exif_get_10_from_60($exif_data['GPSLongitudeRef'], $exif_data['GPSLongitude']);}// GPS(高度)取得if (isset($exif_data['GPSAltitude']) && !empty($exif_data['GPSAltitude'])) {$gps_altitude = $this->exif_convert_float($exif_data['GPSAltitude']);if (isset($exif_data['GPSAltitudeRef']) && ($exif_data['GPSAltitudeRef'] == '1') && !empty($gps_altitude)) {// 海抜0m未満だったら$gps_altitude = ($gps_altitude * -1);}}var_dump($gps_lat); // 緯度:35.728466666667var_dump($gps_long); // 経度:139.70668055556var_dump($gps_altitude); // 高度:42.364415862808}// Exifの位置情報を60進数から10進数に変換private function exif_get_10_from_60($ref, $gps){// 60進数から10進数に変換$data = $this->exif_convert_float($gps[0]) + ($this->exif_convert_float($gps[1]) / 60) + ($this->exif_convert_float($gps[2]) / 3600);//南緯または西経の場合はマイナスにして返却return ($ref=='S' || $ref=='W') ? ($data * -1) : $data;}// 「x/y」という文字列を受け取り、「x÷y」の結果を返すprivate function exif_convert_float($str){$val = explode('/', $str);return isset($val[1]) ? ($val[0] / $val[1]) : $str;}}
-
jQuery3 Ajax通信のサンプルコードです。
1234567891011121314151617181920212223// ex) カテゴリ追加$(function(){$.ajax({url: '/add', // リクエスト送信先URLtype: 'POST', // get or postメソッドtimeout: 2000, // タイムアウト時間をミリ秒で設定cache: false, // キャッシュ無効data: {'category_name': category_name}, // サーバーに送信する値dataType: 'json' // サーバーから返されるデータ型}).done(function (response, textStatus, jqXHR) {// サーバー側[php] echo json_encode(['status' => true or false]);if (response.status) {// 追加成功alert('success.');} else {// 追加失敗alert('error.');}}).fail(function (jqXHR, textStatus, errorThrown) {// 通信失敗alert('error.');});});
-
CakePHP3 Authコンポーネントでログイン・ログアウト機能
2017/11/27 -コントローラー(Controller)
Authコンポーネント, サンプルコード, loadComponent, ログアウト, ログインCakePHP3 Authコンポーネントでログイン・ログアウト機能のサンプルコード。 ● 使用例のテーブル定義(usersテーブル)
1234567891011121314// ユーザーテーブル// status 0:仮登録 1:本登録 2:退会CREATE TABLE `users` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,`email` varchar(255) NOT NULL,`password` varchar(255) NOT NULL,`status` char(1) DEFAULT 0,`created` DATETIME DEFAULT NULL,`modified` DATETIME DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;// テストデータINSERT INTO `users` (`id`, `email`, `password`, `status`, `created`, `modified`) VALUES(NULL, '001@cakephp3.com', '001', '0', NULL, NULL),(NULL, '002@cakephp3.com', '002', '1', NULL, NULL);…