
いつもお世話になります。
表題のとおり、
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ランキング
-
PHPでgz形式のファイルをダウン...
-
zip圧縮の種類について
-
phpでEXCELファイルの編集
-
生成したHTMLをボタンクリック...
-
PHPでファイルのダウンロードす...
-
PHP ダウンロードサイトの直リンク
-
PDF ダウンロード
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
「include()」関数の使い方につ...
-
makefile でファイルをコピーす...
-
.htaccessにphp_valueが使用できな
-
Subversionのリポジトリの削除
-
文字化けについて
-
ファイルアップロードの上限を...
-
別ファイルの変数を呼び出した...
-
sqlで日付が一番古いデータの月...
-
UWSCにつきまして
-
PHP8を使うと、大量のWarningが...
-
URLが.PHPってどういう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ftp_getでローカルにファイルが...
-
zip圧縮の種類について
-
PHPでファイルのダウンロードす...
-
libxml2のインストール
-
PHPで複数ファイルのダウン...
-
生成したHTMLをボタンクリック...
-
ファイルのダウンロードのイベ...
-
VB.NETのFTPダウンロードについて
-
phpでzipファイルダウンロード...
-
PHPでダウンロードしたファイル...
-
複数ファイルを連続でダウンロード
-
eclipseでコメントアウトができ...
-
Excelファイルをダウンロード
-
ファイルに書き込む時の負荷に...
-
CSVファイルのダウンロード
-
ファイル一覧を表示しその画面...
-
ファイルアップロード・ダウン...
-
phpでEXCELファイルの編集
-
PDF ダウンロード
-
ダウンロードファイル名の文字...
おすすめ情報