2017-02-07 4 views
0

ich möchte in der lage sein, eine csv-datei von einem meiner projektordner mit der phpexcel-bibliothek herunterladen, aber es nur die csv-inhalte auf dem browser echo. Ich habe auch versucht, mit der üblichen Download-Methode nur den Dateipfad auf der Schaltfläche, wie das, was wir mit anderen Dokumenten und Dateien tun, aber es echote noch den Inhalt im Browser.Hier ist die Download-Methode in der Steuerung.coderigniter csv herunterladen (ich meine nicht von mysql exportieren)

public function download($fileName = NULL) { 
    if ($fileName) { 
    $file = realpath ("download") . "\\" . $fileName; 
    // check file exists 
    if (file_exists ($file)) { 
    // get file content 
    $data = file_get_contents ($file); 
    //force download 
    force_download ($fileName, $data); 
    } else { 
    // Redirect to base url 
    // redirect (base_url()); 
    echo "error"; 
    } 
    } 
    } 

}

hier ist der Download-Button in meiner Ansicht nach mit dem Dateipfad.

<a class="btn btn-success btn-sm" href='<?php echo base_url(); ?>download/ecofarmer.csv' target="_blank">Download Sample Database</a> <br><br><br> 

und diese sind die Zugänge i in den Routen aus Datei

$route['download/(:any)'] = "/excelimport/download/$1"; 

Antwort

0

Sie haben base_url() zu verwenden, statt realpath

public function download($fileName = NULL) { 
     if ($fileName) { 
     $file = base_url()."download/".$fileName; 
     if (file_exists ($file)) { 
      force_download ($fileName, $file); 
     } else { 
     // redirect (base_url()); 
      echo "error"; 
     } 
     } 
    } 
+0

Danke für den Beitrag i accodingly meinen Code geändert, aber es war nur ein dummer Fehler mit der Taste href. – tendaitakas

0

Ich sollte auf die Schaltfläche die verknüpft haben Verantwortlicher Controller, ich hatte es stattdessen mit der Datei verknüpft. dummer Fehler.