LINUX.ORG.RU

Выгрузить данные в CSV - подводные камни ;)


0

0

Добрый день!

Нужно сделать выгрузку в CSV из MySQL базы.

Из PHP скрипта делаю там SELECT ля ля INTO OUTFILE ля ля '/home/vasya/export/123.csv'.

Пишет ошибка 13. Нет прав на запись. Поставил на ~/export права chmod -R 777 ~/export. Пробую еще раз - все равно пишет нет прав. Соглашается экспортировать только в /tmp.

Первый раз ок, экспортирует. Второй раз - пишет file exist. Блин. Пробую удалить через PHP unlink('/tmp/export.csv') пишет нет прав. Ну ясное дело, mysql выставил на этот файл свои права, и Apache не может его удалить. Е-мое... Замкнутый круг какой то.

Я хочу: ИЛИ чтобы mysql мог экспортировать в папку в моем домашнем каталоге и тогда я смогу удлаить его через PHP скрипт, ИЛИ чтобы PHP скрипт мог удалять файлы в /tmp созданные MySQL'ем.

Вот чего хочу ;)

Подскажите как это можно сделать.

создай в /tmp подкаталог от апача. потом ты из него чужие файлы удалить сможешью

gaa ★★
()

точно не помню, имхо были проблемы с символом '"'.

phasma ★☆
()

Делаем SELECT, потом ручками отдаём в браузер. Ну там Content-Type: text/cvs, и все дела. Писать в какой-либо файл на сервере вообще не надо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.