いつもお世話になります。
表題のとおり、
PHPでサーバー上の画像や動画のファイルをダウンロードしローカルに保存したいのですが、
ダウンロードはできるのですがファイルの中身が空になってしまいます。
特に動画の場合は
「ファイルを再生できません。プレーヤーがそのファイルの種類をサポートしていないか、そのファイルの圧縮に使用したコーデックをサポートしていない可能性があります。」
というメッセージが出ます。
ファイル形式は画像はjpg、動画はwmvで試しました。OSはwindows7です。
ブラウザはクローム、サファリ、IEで試しましたが結果は一緒でした。
プレーヤーは入っていて、ffftpでサーバーのファイルをクリックすると正しく開きます。
以下がソースになります。
<?php
// ダウンロードさせる元ファイル
$fullpath = 'http://www.ドメイン/パス/logo.jpg';
// 保存時のファイル名(デフォルト)
$filename = 'logo.jpg';
// HTTPヘッダ送信
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=$filename");
//ファイルサイズ進捗表示
header('Content-Length: '.filesize('$filename'));
// ファイルを読み込んで出力
readfile($fullpath);
?>
以上です。
ダウンロードされるファイル名は正しい(この場合logo.jpg)ものがダウンロードされます。
間違っている箇所、追加or削除したほうがよいコードなどございますでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
$fullpath がダメです。
httpで始まっているのは使えません。
No.2
- 回答日時:
まず、fopen_wrappersという設定値はONになっていますか?
<?php
// ダウンロードさせる元ファイル
$fullpath = 'http://www.ドメイン/パス/logo.jpg';
// 保存時のファイル名(デフォルト)
$filename = 'logo.jpg';
// HTTPヘッダ送信
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=$filename");
//ファイルサイズ進捗表示
header('Content-Length: '.filesize($fullpath));
// ファイルを読み込んで出力
readfile($fullpath);
?>
filesize('$fullpath') となっていたので、直しました。
http://www.phppro.jp/phpmanual/php/function.read …
PHPにはあまり詳しくないですが;;
ありがとうございます。
教えてくださったページから色々わかりました。
無事解決です。
ご指摘いただいた点も直しました。
お恥ずかしい・・
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Windows 10 Windows10にてjpg形式の画像が開けません 4 2022/08/24 14:37
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Windows 10 JPG PNG サポートされていない形式 (JPGファイルで開ける、開けないがある場合) 4 2022/04/23 13:46
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル一覧を表示しその画面...
-
連続ダウンロードのエラー
-
libxml2のインストール
-
PHPでファイルをダウンロードさ...
-
送信日時を指定してメールを送...
-
ワードプレス、Contact Form 7...
-
バッチを用いたフォルダの自動移動
-
ListViewコントロールでサムネ...
-
UWSCでファイルのアップロード...
-
aws cloud9というものを使って...
-
初心者で数当てゲームを作って...
-
PHPの設定で、 エラーが発生し...
-
フォントの色を変えるには?
-
Illustratorで文字と画像を流し...
-
PHP8を使うと、大量のWarningが...
-
includeしたファイルに変数を持...
-
3ヶ月後の日時を取得する方法
-
PEARライブラリの配置について
-
ファイルのアップロードに関して
-
パスワード等が記述されているp...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
phpでうまく画像がダウンロード...
-
ブラウザでExcelをダウンロード...
-
zip圧縮の種類について
-
PHPでファイルのダウンロードす...
-
VB.NETのFTPダウンロードについて
-
生成したHTMLをボタンクリック...
-
eclipseでコメントアウトができ...
-
【PHP】ダウンロードサイト作成...
-
複数ファイルを連続でダウンロード
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
PHPのFTP関数ftp_fgetエラーに...
-
ダウンロードファイル名の文字...
-
PHPでダウンロードしたファイル...
-
PHPでgz形式のファイルをダウン...
-
phpでの帯域制御、ダウンロード...
-
ファイルダウンロードについて
-
PHPでネット上のPDFファイルを保存
-
csvダウンロードについて
おすすめ情報