HTMLでフォームを設置したとき、フォームに内容を入力し、内容確認などするようにしたところ、
ブラウザの戻るで入力画面に戻ると入力していた内容がクリアされてしまう、ということがあるかと思います。
ユーザービリティを考慮すると、入力した内容は残っていたほうがよい。
そこで以下のような方法があります。
PHPのセッションを使用している場合、session_start関数の前にsession_cache_limiter関数を実行します。
特にPHPのセッションを使っている場合はキャッシュが無効になっているようです。
session_cache_limiter("private_no_expire"); session_start();
キャッシュ指定をヘッダー出力
header("Cache-Control: Private\n");
テーブルAにあってテーブルBにないデータを見つけたいとき、
ACCESSでいうところの「不一致クエリ」を使います。
select TABLE_A.* from TABLE_A left join TABLE_B on TABLE_A.ID = TABLE_B.ID where (TABLE_B.ID Is Null);
$data = getimagesize($filename);
$data[0] = 幅 $data[1] = 高さ $data[2] = 画像種類(gif:1,jpg:2) $data[3] = 高さ="" 幅="" $data["bits"] = ビット/ピクセル $data["channels"] = チャンネル $data["mime"] = MIMEタイプ
フォームよりアップロードできるファイルの最大容量を変更したいとき、
php.ini
で以下の設定を変更します。
1つのファイルアップロードに許可される最大サイズ
デフォルト:2M 40M
upload_max_filesize = 40M
POST送信できる最大サイズ
デフォルト:8M 40M
post_max_size = 40M
メモリ使用量の制限
デフォルト:128MB 512MB
※-1
にすると無制限
memory_limit = 512MB
タイムアウト秒数
デフォルト:20 120
※0
にすると無制限
max_execution_time = 120
1回の送信で送れるファイルの個数
デフォルト:20
※こちらについてはphp.ini、もしくはApacheのhttpd.conf(extra/httpd-vhost.conf)でないと設定できません。
max_file_uploads = 150
memory_limit
・post_max_size
・upload_max_filesize
については以下のような関係になるよう設定してください。
memory_limit > post_max_size > upload_max_filesize
<Directory "/var/www/html"> php_value memory_limit 128M php_value max_execution_time 0 </Directory>
.htaccess
ファイルで設定することも可能です。
php_value memory_limit 128M php_value max_execution_time 0
変更した後は忘れずにApacheを再起動しましょう。