ゆう's Blog
ZEROFILL 属性が非推奨

PHP 内でゼロ埋めを行う方法
データベースから取得した後、PHP の str_pad() 関数を使ってゼロ埋めすることもできます。

str_pad($value, 4, 0, STR_PAD_LEFT);

ディレクトリを中身ごと削除する

function deleteDirectory($dir){ $iterator = new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS); $files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::CHILD_FIRST); foreach ($files as $file) { if ($file->isDir()) { rmdir($file->getPathname()); } else { unlink($file->getPathname()); } } rmdir($dir); }

作成したファイルをダウンロード後に削除する

// ファイル名をサニタイズしてセキュリティを確保 $file = basename($file); $filePath = './uploads/' . $file; if (file_exists($filePath)) { // ダウンロードを開始するためのヘッダーを設定 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $file . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Content-Length: ' . filesize($filePath)); // 出力バッファをクリア ob_clean(); flush(); // ファイルを読み込んで出力 readfile($filePath); // ダウンロード後にファイルを削除 unlink($filePath); exit; } else { echo 'ファイルが存在しません。'; }

rgb 記法

rgb(31 120 50) rgb(30% 20% 50%) rgb(255 122 127 / 80%) rgb(255 122 127 / .2)

vtt ファイルのコメントアウト

ヘッダーのWEBVTTに - を加えることでコメントを加えることができます。

WEBVTT - これはファイルの作成例です

コメントアウトは、WebVTT では NOTE コマンドを使用します。コメントアウトは空白行が1行以上あることによって区切りとみなされます。

WEBVTT - これはファイルの作成例です NOTE この行はコメントアウトされます。 一行以上の空白行で区切りとみなされます。 00:00:00.100 --> 00:00:10.000 このトラックは例を示すためのものです。 00:00:10.000 --> 00:00:20.000 動画ありの例は作成していません。

このようなコメントアウトはファイルの内容を閲覧するときには見えますがデータとして実行はされません。ファイルを編集する人が分かりやすくするためや憶えとして付けます。

スタイルシートの例

WEBVTT - Blue Note 0001 STYLE ::cue { color: black; background-color: rgb(255 255 255 / 0); font-size: 26px; } 00:00.000 --> 00:04.000 アナログには 無限があってゼロがない 00:04.000 --> 00:08.000 デジタルには ゼロがあって無限がない

automatic_unique_text

自動で数字,英小文字からなるユニークな文字列に置換される。
idなどに利用できる。但し、数字で始まる可能性があるので、プレフィックス(接頭辞)を付ける。

透過マークに使える市松模様

.ichimatsu { background-size: 30px 30px; /* repeating-conic-gradientが適用されるサイズ */ background-image: repeating-conic-gradient(from 0deg, #fff 0deg 90deg, #ebebeb 90deg 180deg); /* 90度ずつ色変更を360度まで繰返し(2回) */ background-repeat: repeat; }

画像(imgタグ),ビデオ(videoタグ)には、「max-width: 100%;」を指定してある。

サイズが大きくても枠内におさまる。

<video>タグの再生終了後にポスター画像を再表示する

ビデオが終了した際にendedイベントが発火し、this.load()を呼び出すことでビデオをリロードし、ポスター画像を再表示します。

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Video Poster Example</title> </head> <body> <video id="myVideo" width="600" poster="poster.jpg" controls> <source src="movie.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <script> document.getElementById('myVideo').addEventListener('ended', function() { this.load(); // ビデオをリロードしてポスター画像を再表示 }); </script> </body> </html>

Vidnoz AI

喋らすなら、画像はアバターで取り込む。