Je veux programmer la fonction pour télécharger des fichiers Excel vers un db sql. J'ai un problème, car les $this->upload->do_upload('file')
ne s'exécutent pas et je n'arrive pas à comprendre pourquoi.Fichier CodeIgniter Téléchargement de classe, erreur avec do_upload
Voici mon contrôleur:
function import(){
$this->breadcrumbs[] = array(
"title" => "Import",
"link" => "interview/import"
);
$this->template->load("interview_import", $this->breadcrumbs, $data);
}
function import_data() {
$this->load->library("form_validation");
$config = array(
'upload_path' => FCPATH. 'upload/',
'allowed_types' => 'xls'
);
$this->load->library('upload', $config);
if($this->upload->do_upload('file')) {
$data = $this->upload->data();
@chmod($data['full_path'], 0777);
}
$this->load->library("Spreadsheet_Excel_Reader");
$this->spreadsheet_excel_reader->setOutputEncoding('CP1251');
$this->spreadsheet_excel_reader->read($data['full_path']);
$sheets = $this->spreadsheet_excel_reader->sheets[0];
error_reporting(E_ALL^E_NOTICE);
$data_excel = array();
for ($i = 2; $i <= $sheets[0]['numRows']; $i++) {
if ($sheets['cells'][$i][1] == '') {
break;
}
$data_excel[$i -1]['name'] = $sheets['cells'][$i][1];
$data_excel[$i -1]['phone'] = $sheets['cells'][$i][2];
$data_excel[$i -1]['address'] = $sheets['cells'][$i][3];
/*for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";*/
}
echo '<pre>';
print_r($data_excel);
echo '</pre>';
die();
}
Et ceci est mon point de vue:
<?php
echo form_open_multipart('interview/import_data');
echo form_upload('file');
echo '<br/>';
echo form_submit(null, 'Upload');
echo form_close();
?>
Avez-vous une idée de ce que je fais mal?
Lorsque vous essayez de télécharger je reçois le message d'erreur:
> Une erreur PHP a été rencontré de gravité: Mémento Message: Undefined variable: données Nom du fichier: contrôleurs/Interview.php Numéro de ligne: 521 backtrace: fichier: C: \ Users \ A66155193 \ Desktop \ xampp \ htdocs \ yitt \ contrôleurs \ Application \ Interview.php ligne: 521 Fonction: _error_handler fichier: C: \ Users \ A66155193 \ Desktop \ xampp \ htdocs \ yitt \ index.php Ligne: 311 Fonction: require_once
Alors, évidemment, si l'article peut exécuter parce que:
Undefined variable: données
Merci pour votre aide!
"Le chemin de téléchargement ne semble pas être valide." ainsi que "Le nom de fichier n'est pas lisible". mais comment puis-je imprimer le nom de fichier pour voir ce qui ne va pas –
Est-ce que votre chemin de téléchargement est sur la racine? –
Si c'est sur la racine vous pouvez utiliser votre chemin de téléchargement comme ceci 'upload_path' => './upload/', –