![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
プログラム初心者です
容量小さ目のmp3のアップ ロードする方法をおしえてください
拡張子はmp3のみ対応できれば満足です
画像をアップロードする場合と違うところはどこでしょうか?(気をつけなければいけないとこはありますか?)
IMEタイプはmp3の場合どうなりますか?
他のエラー処理は画像アップロードとほぼ同じだと思うので省略しています
下記の画像アップロードを少し改造して作れないでしょうか?(下記の部分だけわかればなんとかなるかもしれません)
// 画像ファイル情報取得
$info = getimagesize($tmp_name);//画像の幅、高さ、拡張子、<img>タグ内でそのまま使用できる文字列、ビット/ピクセル、チャンネル数、MINEタイプを配列で取得(偽装対策)
// 取得に失敗したときは画像ファイルではない
if ($info === false) {
throw new Exception('nogif');//画像ファイルではありません
}
// MimeTypeを調べる
switch ($info['mime']) {
case 'image/gif':
$mime = $ext = 'gif';
break;
case 'image/png':
$mime = $ext = 'png';
break;
case 'image/jpeg':
$mime = 'jpeg';
$ext = 'jpg';
break;
default:
throw new Exception('mime');//この種類の画像形式は受理できません
}
よろしくお願いします
No.3ベストアンサー
- 回答日時:
>アップロードはできたのですが偽装がみやぶれないみたいです
(拡張モジュールがインストール出来るなら)KTaglibでも使って各種プロパティを確認するとか
http://www.php.net/manual/ja/book.ktaglib.php
No.2
- 回答日時:
No.1
- 回答日時:
>画像をアップロードする場合と違うところはどこでしょうか?
ただのバイナリとして扱うだけです(当然getimagesize関数は使えません)。
>IMEタイプはmp3の場合どうなりますか?
ブラウザから送られてくるMIMEタイプはブラウザ依存&詐称可能なのでアテにしてはいけません。
phpから送り出すときのMIMEタイプを自前で(headerで)出すなら、お使いのサーバの設定に合わせればいいと思いますが、多くは"audio/mpeg"か"audio/mp3"だろうと思います。
回答ありがとうございます
アップロードはできたのですが偽装がみやぶれないみたいです
$_FILES['upfile']['tmp_name']をそのまま使うとまずいですよね?
mime_content_typeを使ってみましたがXAMPPではエラーがでました
$info = mime_content_type($_FILES['upfile']['tmp_name']);
Fatal error: Call to undefined function mime_content_type()
次にfinfoを使いましたが同じくエラーがでました
$finfo = new finfo(FILEINFO_MIME_TYPE);
$info = $finfo->file($_FILES['upfile']['tmp_name']);
Fatal error: Class 'finfo' not found in
使い方はあってますか?
他に方法があればよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
透過PNGが透過されない!!
-
Illustratorで文字と画像を流し...
-
VBSの「MsgBox」について
-
GDI+を使ったビット数とDPIの扱い
-
ウィンドウサイズを取得して、p...
-
Excelに画像挿入
-
アップロードされたファイルを...
-
ファイルアップ時のファイル名
-
画像だけアップロードされません。
-
php、JDライブラリを用いて画像...
-
C# Excelファイルへの画像挿入。
-
Borland C++ Builder
-
ホープページの表示速度が遅い。。
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
onedrive にexcelファイルをア...
-
文字化けに関して
-
ヒアドキュメントを中断してinc...
-
文字化けについて
-
FORMで送信ボタンと戻るボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
透過PNGが透過されない!!
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
C# Excelファイルへの画像挿入。
-
VBAでJPGサイズ変更
-
SQLiteに画像を格納したい
-
iphoneで虫眼鏡の作り方
-
PHP MySQLに画像を直接保存
-
Illustratorで文字と画像を流し...
-
openCVの超解像処理
-
ChatGPTに作らせたい Excel VBA
-
PHPで吐き出した画像にリンクを...
-
pictureboxに表示した画像のフ...
-
PHPによる画像の生成による色の...
-
GDI+を使ったビット数とDPIの扱い
-
ウィンドウサイズを取得して、p...
-
BLOBデーターの画像の表示方法...
-
OpenGLで描いて画像ファイル出力
-
ビットマップ画像を読み込むプ...
-
ImageTTFTextで保存すると文字...
おすすめ情報