
画像ファイルに拡張子が「jpg」のファイルを指定するとエラーになります。
正常に登録できるようにするにはどこを修正すればいいですか?
アップロードできる「商品画像」のファイル形式は「JPEG」、「PNG」のみ可能とします。
(大文字小文字両方)
「JPEG」、「PNG」以外はエラーメッセージを表示して、商品を追加できないようにします。
//アップロードできる「商品画像」のファイル形式は「JPEG」、「PNG」のみ可能とする。
(大文字小文字両方)
//「JPEG」、「PNG」以外はエラーメッセージを表示して、商品を追加できない。
if (count($err_msg) === 0) {
//画像関連の処理部分
//is_uploaded_file関数は、指定したファイルがアップロードされたファイルかどうかを確認する
if (is_uploaded_file($_FILES['new_img']['tmp_name']) === TRUE) {
//tmp_nameを指定することで一時的なファイルの名前が取得できる
// 画像の拡張子を取得する
$extension = pathinfo($_FILES['new_img']['name'], PATHINFO_EXTENSION);
// 指定の拡張子であるかどうかチェック
if ($extension === 'png' || $extension === 'jpeg') {
// 保存する新しいファイル名の生成(ユニークな値を設定する)
$new_img_filename = sha1(uniqid(mt_rand(), true)). '.' . $extension;
// 同名ファイルが存在するかどうかチェック
if (is_file($img_dir . $new_img_filename) !== TRUE) {
// アップロードされたファイルを指定ディレクトリに移動して保存
if (move_uploaded_file($_FILES['new_img']['tmp_name'], $img_dir . $new_img_filename) !== TRUE) {
$err_msg[] = 'ファイルアップロードに失敗しました。';
}
} else {
$err_msg[] = 'ファイルアップロードに失敗しました。再度お試しください。';
}
} else {
$err_msg[] = 'ファイル形式が異なります。画像ファイルはJPEG又はPNGのみ利用可能です。';
}
} else {
$err_msg[] = 'ファイルを選択してください。';
}
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
>アップロードできる「商品画像」のファイル形式は「JPEG」、
>「PNG」のみ可能とします。
というつもりで作成されているのなら、
>画像ファイルに拡張子が「jpg」のファイルを指定すると
>エラーになります
というのは、正しく処理された結果と思われます。
No.1
- 回答日時:
if ($extension === 'png' || $extension === 'jpeg' || $extension === 'jpg') {
とでもしてみては。
明らかに拡張子jpgは現時点のコードでは弾かれていますよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
openglで音楽を再生する
-
【Excel VBA】取り込んだファイ...
-
Eclipseで検索ができなくなった
-
VBAで、JPG写真の撮影日時を読...
-
GetOpenFileName()について
-
HTMLテキストリンクでExcelファ...
-
0バイトのテキストファイル
-
2GB以上のファイルを扱う方法
-
VB2008 iniファイルの全セクシ...
-
ATTファイルってどうやって開け...
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
iTextでPDFを表示させたら日本...
-
Thunderbird 受信メールからの...
-
StreamReaderで読み込んだファ...
-
コマンドプロンプトのテキスト...
-
C#で大容量ファイルの一部編集
-
RPGについて
-
COBOL、項目末尾に空白がある場...
-
フォームファイル(.frm)を開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】取り込んだファイ...
-
Eclipseで検索ができなくなった
-
0バイトのテキストファイル
-
VBAで、JPG写真の撮影日時を読...
-
C++によるファイル送受信プログ...
-
main関数のコマンドライン引数...
-
【VBA】複数CSVの特定範囲を1つ...
-
ファイル作成日時と更新日時を...
-
Javaのファイルダウンロードに...
-
HTMLテキストリンクでExcelファ...
-
2GB以上のファイルを扱う方法
-
openglで音楽を再生する
-
エディットボックスの内容をテ...
-
VB2008 iniファイルの全セクシ...
-
VB6でTIFF図のプロパティを...
-
GetOpenFileName()について
-
EUCコードをSHIFT-JISに変換したい
-
タスクバーのアイコンについて
-
C++.NET 2003 「空のドキュメ...
-
【VBA】印刷マクロのループ処理...
おすすめ情報