- PHP
-
2012-11-05
$data = getimagesize($filename);
$data[0] = 幅 $data[1] = 高さ $data[2] = 画像種類(gif:1,jpg:2) $data[3] = 高さ="" 幅="" $data["bits"] = ビット/ピクセル $data["channels"] = チャンネル $data["mime"] = MIMEタイプ

$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を再起動しましょう。
ファイルアップロードのエラーについてまとめました。
フォームのサンプル
<form method="post" action="my.php" enctype="multipart/form-data"> <input type="file" name="upfile" size="50"><br> <input name="submit" type="submit" value="アップロード"> </form>
PHPのサンプル
if ($_FILES["upfile"]["error"] == UPLOAD_ERR_OK) { //アップロード成功 } else { //エラー発生 }
・エラーコードについて
UPLOAD_ERR_OK
値:0
エラーなし。ファイルアップロード成功。
続きを読む…»
複数の画像を添付してメールを送信するフォームを作ったので参考に載せておきます。
要所のみで省略している部分もあります。
ここでは添付できるファイル数を5つで作成しています。
<form action="./confirm.php" method="post" enctype="multipart/form-data"> <input type="file" size="30" name="upfile1"><br> <input type="file" size="30" name="upfile2"><br> <input type="file" size="30" name="upfile3"><br> <input type="file" size="30" name="upfile4"><br> <input type="file" size="30" name="upfile5"><br> <input type="submit" name="submit" value="内容確認"> <input type="reset" value="リセット"> </form>
<?php // 共通初期設定 //{ // 拡張子制限(0=しない・1=する) $ext_denied = 1; // 許可する拡張子リスト $ext_allow1 = "jpg"; $ext_allow2 = "jpeg"; $ext_allow3 = "gif"; // 配列に格納しておく $EXT_ALLOWS = array($ext_allow1, $ext_allow2, $ext_allow3); // アップロード容量制限(0=しない・1=する) $maxmemory = 1; // 最大容量(KB) $max = 3000; //} ?>