.htaccessでPHPのファイルアップロードサイズの上限値を変更
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…
ホームページ制作時にパラメータを使用して詳細ページ等を表示する時がありますが、見た目がわかりにくく、スッキリさせたいとの要望でディレクトリ形式に変更した際の実装方法をメモ。
今回は「example.com/products/index.php?category=shoes&id=123」のページを「example.com/products/shoes/123/」に変更します。
RewriteEngine on
RewriteRule ^(.*)$ index.php [L]
ディレクトリ形式に変更したいページと同階層に上記htaccessを設置。(今回の場合「products」内)
アクセスを全て「index.php」に集約することで、存在しないディレクトリにアクセスしても「404」エラーが出ない状態にします。
$parse_url = parse_url($_SERVER["REQUEST_URI"]);
$segments = explode('/', trim($parse_url['path'], '/'));
$category= $segments[1];
$id = $segments[2];
if(!empty($category)){
$dt['category'] = preg_replace('/[^a-zA-Z0-9-]/', '', $category); //英数字とハイフンのみを有効化
}
if(!empty($id)){
$dt['id'] = preg_replace('/[^0-9]/', '', $id); //数字のみを対象
}
//以下パラメータ取得時と同様の処理を記載(省略)
「parse_url」を使用してURLの構成要素を取得したのち、「trim」を使用し文字列の先頭と末尾の「/(スラッシュ)」を取り除く。
その後「explode」を使用してディレクトリごとに配列に収納。
配列に挿入した値は、必要な部分のみを変数に入れてパラメータ時と同様の処理を行います。
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…
2020.10.3
テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを…
2024.03.30
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…
2020.12.5
メールフォームからメールを送信する際に、画像(ファイル)を添付できるようにしてほしいとの…
2022.02.19
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…
2019.12.29
メールフォーム等での入力値チェック(バリデーション)。PHPの「preg_match」(…
2023.12.2
ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カ…
2020.08.15
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリ…
2020.08.1
動画ファイルをCMS化して保存するときに、多くの場合はファイルパスをデータベース(MyS…
2021.03.27
WEBで提供されているサービスを使用する際に、提供元のAPIに自身のサイトで入力されたデ…