phpでサーバーにあるファイルをローカルにダウンロードしたいです。
index.phpの「download」ボタンを押して、download.phpを呼んで実行しようとしてみましたが、ボタンを押してもなにも起こりませんでした。
ダウンロードの実装方法がわかりません。
https://pgmemo.tokyo/data/archives/825.htmlを参考にしました。
よろしくお願いいたします。
下記はindex.phpです。
<?php require_once('./download.php'); ?> <!DOCTYPE html> <head> <meta charset="ja"> <title>title</title> <script src="js/jquery.min.js"></script> </head> <body> <input type="button" id="btn" value="download"> <?php $a = new DownLoadContent(); $a.file_download('/var/www/html/test/data.jpg','.'); ?> <body>
下記はdownload.phpです。
<?php class DownLoadContent{ function file_download($url, $dir){ if ( ! is_dir($dir) ){ die("ディレクトリ({$dir})が存在しません。");} $dir = preg_replace("{/$}","",$dir); $p = pathinfo($url); $local_filename = ''; if ( $save_base_name ){ $local_filename = "{$dir}/{$save_base_name}.{$p['extension']}"; } else{ $local_filename = "{$dir}/{$p['filename']}.{$p['extension']}"; } if ( is_file( $local_filename ) ){ print "すでにファイル({$local_filename})が存在します<br>\n";} $tmp = file_get_contents($url); if (! $tmp){ die("URL({$url})からダウンロードできませんでした。");} $fp = fopen($local_filename, 'w'); fwrite($fp, $tmp); fclose($fp); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/27 06:28
2018/07/27 06:34
2018/07/27 06:37
2018/07/27 06:40