#php #sql-server #excel #cakephp #csv
#php #sql-сервер #excel #cakephp #csv
Вопрос:
Я знаю, что большинство исследований рекомендуют загружать в формате csv, что проще. Из-за требований пользователя мне нужно загрузить в Excel формат xls в базу данных, возможно ли это сделать в cake php? или использовать другой метод, который преобразует файл xls в файл csv, а затем только загружает? Спасибо!
Я попробовал это … и он показывает неопределенную переменную: ext и неопределенный индекс: Upload
$destination = realpath('../../app/webroot/uploads/excel/' . '/');
if(isset($_FILES['Upload']['XLS_File']))
$ext = substr($_FILES['Upload']['XLS_File'], strrpos($_FILES['Upload']['XLS_File'], '.') 1);
$path = $destination.'excel'.$ext;
move_uploaded_file($_FILES['Upload']['tmp_name'], $path);
$data = new Spreadsheet_Excel_Reader($path, true);
$temp = $data->dumptoarray();
if($temp)
{
foreach ($temp as $key=>$val)
{
$val['0'];
}
}
}
Комментарии:
1. Вы что-то пробовали, но в чем проблема?
$temp
Пусто? Или$data
пусто? Какую библиотеку вы используете дляSpreadsheet_Excel_Reader()
класса?$_FILES
Содержит ли вообще файл или загрузка не работает? Пожалуйста, будьте более конкретны и сообщите нам, какую ошибку вы получаете или какая у вас проблема. Мы готовы объяснить, как использовать определенный класс, если у вас возникнут проблемы, но это не «сообщество запросов скриптов». TL; DR пожалуйста, улучшите свой вопрос.2. Спасибо за комментарий, загрузка не сработала, она показывает неопределенную переменную: ext и неопределенный индекс: Upload, а класс версии 2.21. на самом деле я хочу установить местоположение Excel (realpath), указывающее на файл dropbox, возможно ли это?
3. Именно то, что я подумал, так что проблема не в том, что вы не можете читать Excel, проблема в том, что загрузка не работает должным образом. Пожалуйста
var_dump
(отладьте)$_FILES
переменную и проверьте, что она содержит.4. Кроме того, после вашего первого
if()
нет открывающей фигурной скобки :{
. Возможно ли, что анализатор не запускает if-блок, как вы ожидаете? Значение: возможноisset($_FILES['Upload']['XLS_File'])
, условие возвращает false, но поскольку if-блок настроен неправильно, он пытается запустить другой код независимо.5. еще раз спасибо за комментарий, извините, он также показывает ошибку: имя файла excel не читается. Я добавил фигурную скобку. Ошибка все та же.