2021-08-01から1ヶ月間の記事一覧

Laravel ファイルをアップロードしてサーバーに保存する シンボリックリンク

Laravelで、ユーザーにファイルをアップロードさせ、 そのファイルを保存したい場合、以下のように書ける。 ・formを用意する <form method="POST" action="post" enctype="multipart/form-data"> @csrf <input type="file" id="file" name="file" class="form-control"> <button type="submit">アップロード</button> </form> ・コントローラー側でファイルを受け取り、保存する $file = $request->file('file'…

Laravel csvファイルをzip形式でダウンロードする。

1 2 3 一 二 三 というcsvファイルを作成して、 なおかつそれをzip形式でダウンロードさせたい場合、以下のように書ける。 use File; use ZipArchive; ... $header = []; // csvヘッダー部分 array_push($header, "1"); array_push($header, "2"); array_pus…

PHP strposで条件分岐

文字列の中に指定したキーがないか探したいとき、 strposメソッドを使って以下のように書ける。 $message = "今日はいい天気ですね。"; $result = strpos($message, "天気"); ↓ $result = 5; strposは、第1引数の何文字目から第2引数が現れるかを返してくれ…

HTML Enterキーでformをsubmitしないようにする

以下のようなformでは、Enterキーでsubmitされてしまう。 <form action="/XXX" method="get"> <input ...> <button type="submit" ...></button> </form> 以下のように記述することで、それを防げる。 <form action="/XXX" method="get" onsubmit="return false"> <input ...> <button type="button" ... onclick="submit()"></button> </form> ・説明 onsubmit="return…

Laravel Viewで、文字列を指定箇所で改行させる

ControllerからViewに文字列を渡して表示させたいとき、 通常なら以下のように書けます。 $comment = "あけましておめでとう、今年もよろしく。" return view('xxx/xxx', ['comment' => $comment]); ↓ <div>{{$comment}}</div> 表示結果 あけましておめでとう、今年もよ…

Laravel 別コントローラー内のアクションを呼び出す

Laravelで、処理を別コントローラーでまとめて共通化する場合、 そのアクションを他コントロールから以下のように呼ぶことができる。 use App\Http\Controllers\BController; class AController { public function index(Request $request) { ... $num = 25;…

jQuery シングルクリックとダブルクリックで発火するアクション

jQueryでは、シングルクリックで発火するアクションは、 $('要素').on('click', function(){ ... }); と書けるが、 ダブルクリックで発火するアクションは、 $('要素').dblclick(function(){ ... }); のように書くことができる。

Windows CapsLockキーで全角英数になってしまう

文字をタイプしていてひらがなと半角英数を切り替えたいとき、CapsLockキーを押すことがありますが、 何らかの操作をしてしまい、 ひらがな<->半角英数 が、 ひらがな<->全角英数 になってしまうことが度々あります。 これは以下の方法で固定します。 ・画面…

Laravel 同コントローラー内のアクションを呼び出す

Laravelで、処理を別アクションでまとめて共通化する場合、 そのアクションを他アクションから以下のように呼ぶことができる。 public function index(Request $request) { ... $num = 25; $doubledNum = $this->double($num); ... } private function doubl…

jQueryでforeach 指定のクラスを持つ要素を全て取得する

<input type="text" class="comment" value=""> のような、"comment"というクラスを持つ要素が複数存在する場合、 foreachを使ってそれら全てのvalue値を取得することができる。 var comments = []; $(".comment").each(function(){ comments.push(this.value); }); "comments"という名の配列に、 "commen…

Laravelで、セッションを使う

Laravelでセッションを使う。 セッションに値を入れる。 $category = 999; $keyword = "食料品"; $param = array( 'category' => $category, 'keyword' => $keyword, ); session()->put('SHOPPINGPAGE', $param); セッションに値があるか、キーをもとに探す…

アクション内に、SQL文を直書きして値をとる

Laravelで、DBから値を取るとき、 $data = UserModel::all(); という風に、Modelを使う方法があるが、 条件が複雑な場合など、以下のように Modelを使わずにSQL文を直書きして値を取得することができる。 use Illuminate\Support\Facades\DB; $id = 999; $na…

PHP アップロードしたファイルの拡張子を変える

取得したファイルのパス($path)を $path = "XXX/YYY/ZZ.pdf"; $pathInfo = pathinfo($path); とすると、$pathInfoの中身は、 "dirname" => "XXX/YYY" "basename"=> "ZZ.pdf" "extension" => "pdf" "filename" => "ZZ" となっており、 指定したパスにあるファ…

LaravelのViewのformでは、name="id"とできない

name="id"だと、 コントローラーで$id = $request->id; とできなかった。 無理にでもid表記を避ければOK name="XxxId" name="Xxx-Id"

CSSでメニューの開閉

$(クリックする箇所).on("click", function(){ $(開閉したい要素).slideToggle(); }); これで、クリックする毎に要素を表示したり隠したりできる