Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Получение файла в массив из ссылки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Получение файла в массив из ссылки
psfdek
Отправлено: 25 Июля, 2014 - 11:54:27
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $fnames=date("d.m.y_H:i:s");
  2. $mime=$_FILES['uploadfile']['type'];
  3. $fileformat ='.csv';
  4.  
  5. if ($mime!='text/csv' && $mime!='application/vnd.ms-excel' && $mime!='application/vnd.ms-excel' && $mime!='application/csv' && $mime!='text/x-csv' && $mime!='text/comma-separated-values' && $mime!='application/octet-stream'){
  6.     echo 'Неверный тип файла';
  7. } else {
  8.     $uploaddir = '../../../files/import/';
  9.     $_FILES['uploadfile']['name']=$fnames.$fileformat;
  10.     $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  11.     // Копируем файл из каталога для временного хранения файлов:
  12.     if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  13.     {
  14.     echo "";
  15.     }
  16.     else { echo "Ошибка! Не удалось загрузить файл на сервер!"; exit; }
  17.  
  18. }

Вот php скрипт который получает файл csv от формы и затем его с помощью цикла записываю в mysql и сохраняю в каталоге в формате дата.csv. Всё работает норм!

Но теперь необходимо получать файл csv находящийся по ссылке на другом сайте, но я не знаю как это сделать.
Вроде как надо использовать "file('http://test.ru/file.csv');", но как ему присвоить имя потом и как его сохранить на сервер после занесения в бузу через цикл?
С получением из формы это выглядет так: $_FILES['uploadfile']['name']=$fnames.$fileformat;

Вот пример ссылки файла:
http://test[dot]ru/crm_access.php?us[dot][dot][dot]nt&region=58
 
 Top
Ch_chov
Отправлено: 25 Июля, 2014 - 12:05:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




А зачем его сохранять на сервере, если вы уже вытащили из него данные в БД?

Можете предварительно скачать файл на сервер с помощью file_get_contents, но правильней будет использовать для этого curl.

Учтите что file и file_get_contents не будут работать с удалёнными файлами если в конфигурации PHP выключена опция allow_url_fopen.

(Отредактировано автором: 25 Июля, 2014 - 12:05:27)

 
 Top
psfdek
Отправлено: 25 Июля, 2014 - 12:13:41
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Что то я не понял..
А нет примеров у Вас?
 
 Top
Ch_chov
Отправлено: 25 Июля, 2014 - 12:20:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Есть, но я не понял чего вы не поняли.
 
 Top
psfdek
Отправлено: 25 Июля, 2014 - 12:23:14
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




как принять файл с помощью curl запихать его в массив.
И потом сохранить с нужным мне именем и расширением.
получая файл от формы преобразовывал его с помощью fgetcsv в массив, учитывая разделитель. А как теберь с этим быть?

(Отредактировано автором: 25 Июля, 2014 - 12:36:15)

 
 Top
esterio
Отправлено: 25 Июля, 2014 - 12:39:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




погуглив можно найи много примеров
http://bit[dot]ly/wTnQn0
 
 Top
Ch_chov
Отправлено: 25 Июля, 2014 - 12:41:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Таких примеров полно, в т.ч. здесь на форуме. Начните с уроков http://www.php.su/lessons/?lesson_11
Если сохраните файл на диск, то использовать тот же самый код для чтения CSV файла.
 
 Top
psfdek
Отправлено: 25 Июля, 2014 - 12:47:31
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




я гуглил, но не понял как в массив засунуть данные из csv.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB