javascript jQueryで、フォームの入力を保存する
フォームの入力が毎回マンドクセって時のために作ったjQuery
これをめんどくさがりのワイはF12のコンソールにそのままはっつけちゃう。
function clipboardform() {
let copystr = "";
$('[name]').each(function(){
let namestr = $(this).attr('name').replace('[', '\\\\[').replace(']', '\\\\]');
if ($(this).attr('type') == 'checkbox' || $(this).attr('type') == 'radio') {
if ( $(this).is(':checked') ) {
copystr = copystr + "$('[name="+namestr+"]').filter('[value="+$(this).val()+"]').prop('checked', true);\n";
}
return true;
}
copystr = copystr + "$('[name="+namestr+"]').val('"+$(this).val()+"');\n";
});
let textareatest = $('<textarea></textarea>');textareatest.appendTo('body'); textareatest.val(copystr);textareatest.select();document.execCommand("copy");textareatest.remove();
true;
};clipboardform();
そうすると最後の行でコピーまでしてるので、クリップボードにそのまま
$('[name=namae]').val('atai'); のリストが出てくるという。
ブックマークにするともっと楽なのかもしれない。(しなさそう~)(後日した)
変数名にtestやらstrを使っているのは、id回避。
べ、べつに適当につけたわけじゃないんだからね…っ!
Laravel メールの実装、Gmailを利用
LinuxCentOS7 Laravel6 PHP7
メール送信の実装
・envにメールの設定
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME={gmailアカウント名}@gmail.com
MAIL_PASSWORD={gmailアカウントパスワード}
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS={gmailアカウント名}@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
・Mailクラス作成
・Mailクラス実装、viewの用意
フィールド変数、__constructメソッド、buildメソッドを内容に応じて修正。
また、メール内容をviewに記述。
・メールを送信する処理
Mail::to( $client->mail )->send(new {クラス名}($client));
Gmailを使う場合、ここをONにすること
Account settings: Your browser is not supported.
Let's Encryptを使ってHTTPをHTTPSにする
・AmazonLinux2
下記ページを参考に、certbot-auto certonlyを実行する
Amazon Linux2でLet's Encryptを使う方法
しかし、うまくいかない。AuthorizationErrorが起きる。
ログにはunauthorizedDetail: Invalid response from ~と出ていた。
Let's Encrypt 証明書取得時に「Problem binding to port 80: Could not bind to IPv4 or IPv6.」発生時の対処法 | mebee
Apache及びhttpdを起動しているとだめらしいので止める。
systemctl stop httpd
実はいろいろ悩んで試行錯誤したのに、これですんなり行った
( 'ω` 、)もう…
後はhttpをhttpsに転送する設定
httpからhttpsにリダイレクトする方法と注意点について | キーワードファインダー
httpdのconfで、<VirtualHost *:80>に
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
を入れるよ。
はぁ…終わった…サーバと向き合うのつかれぴよ。
LinuxCentOS7再起動したらSamba等々が動かなくなった話
Linux CentOS7初心者が
サーバを再起動したら、いろいろ不具合が起きた。
【不具合】
・httpアクセスがうまくいかなくなった
・samba設定しているはずなのに、エクスプローラが見れなくなった
【原因】
・SELinuxが有効になっていた(無効にする固定設定していなかった)
・mysqlが起動していなかった(自動起動を設定してなかった)
【対処】
$ sudo vi /etc/selinux/config
SELINUX=disabled を SELINUX=permissive に変更
$ chkconfig mysqld on
MySQLを自動起動設定にするコマンドの使い方(chkconfig) | ねたこれ
※AmazonLinux2では、コマンドが自動で直される
Note: Forwarding request to 'systemctl enable mysqld.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
初心ながら、再起動して確認するのも必要だなーとか思ったのであった。
PHPで動画ファイルを変換したい【ffmpeg】
動画のアップロード時、絶対画面に出せるように変換をかけた。
※前提
・AmazonLinux2
・PHP7 Laravel6
拡張子多すぎ問題!!!!
みんな平和に再生できればいいのに…(´・ω・`)
続きを読む
ファイルアップロードのチェック【ファイルタイプ】
ファイルの種類をチェックしたい。
そのため、最初はサーバ側でバリデーションを実装していたのだけど…
バリデーションが実行されるのは、ファイルがアップロードされてから。
つまりファイルサイズが大きいと、それだけくっそ遅いのだった。。
ということで、画面上でチェックする必要があった。下記を参考に実装した。
javascript — jQueryでアップロード時のファイルタイプを制限するにはどうすればよいですか?
1.input[type=file]要素の値(.val()や.value)に対して、下記で拡張子を取得
var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
または
var ext = this.value.match(/\.(.+)$/)[1];
2.チェックを実施