
いつもお世話になります。
表題のとおり、
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ランキング
-
ftp_getでローカルにファイルが...
-
phpでzipファイルダウンロード...
-
ファイルのダウンロードが出来ない
-
eclipseでコメントアウトができ...
-
【Spreadsheet_Excel_Writer】...
-
PHPで生成したファイルをダウン...
-
Localeクラスについて
-
pictureboxに表示した画像のフ...
-
onedrive にexcelファイルをア...
-
コマンドプロンプトで添付ファ...
-
HTMLファイル内の行数を指定し...
-
html込みの文字列をPHPの変数に...
-
PHPでのindex.htmlの生成ができ...
-
require,includeとAjaxで分岐
-
訪問回数が素数の場合、違うメ...
-
phpからoutlook起動
-
フォントの色を変えるには?
-
ロケットBBSについて
-
Smarty includeでテンプレート...
-
ファイルについて・・・。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮の種類について
-
PHPで複数ファイルのダウン...
-
PDF ダウンロード
-
ファイル一覧を表示しその画面...
-
phpでうまく画像がダウンロード...
-
ファイルのダウンロードが出来ない
-
libxml2のインストール
-
CSV出力時の”0”表示(電話番号...
-
ダウンロードファイル名の文字...
-
ftp_getでローカルにファイルが...
-
ファイルのダウンロードのイベ...
-
VB.NETのFTPダウンロードについて
-
PHPでダウンロードしたファイル...
-
複数ファイルを連続でダウンロード
-
PHPでファイルのダウンロードす...
-
PHPで複数ファイルをZIPで圧縮...
-
PHPでgz形式のファイルをダウン...
-
連続ダウンロードのエラー
-
CSVファイルのダウンロード
-
【PHP】ダウンロードサイト作成...
おすすめ情報