2016-08-10 1 views
0

Вот простой код, где мне нужно скачать контент из файлов .. но я не понимаю, почему мы получаем содержимое переменной, почему не мы просто даем ссылку на скачивание и заставляем ее загружаться.Зачем получать содержимое из файла, когда нам просто нужно загрузить в Codeigniter

<?php 
    if(file_exists("assets/uploads/file.csv")) {         
    $url = $BASE_URL.'assets/uploads/file.csv'; 
    $data = file_get_contents($url); // Read the file's contents 
?> 
<a href="<?php echo $BASE_URL.'assets/uploads/file.csv'; ?>" onclick="<?php force_download($data); ?>">Download</a> 
+0

Что такое 'force_download()'? кажется очень странным способом сделать это ... – NDM

+0

Что такое '$ BASE_URL' ?? – Saty

+0

Я передаю данные 'base_url' из контроллера как '$ data [' BASE_URL '] = base_url();' и 'force_download' - это функция codeigniter для загрузки содержимого. – Jeeva

ответ

1

Вы, кажется, запутываете загрузку на сервер с загрузкой на клиентскую сторону (браузер).

Чтобы загрузить файл csv в браузер, вы должны его обслуживать с помощью http-сервера (apache или что-то в этом роде), а затем ссылаться на URL-адрес файла на сервере. (Как вы делаете в a href =).

На стороне сервера вам не нужно делать никаких файлов_файлов или загружать данные этого файла. Все это обрабатывается apache.