RFpro.ru: Программирование на PHP

  Все выпуски  

RFpro.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Асмик Гаряка
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »
Хватов Сергей
Статус: Академик
Рейтинг: 0
∙ повысить рейтинг »
SAW
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ PHP / Perl / Python

Номер выпуска:1315
Дата выхода:28.03.2019, 11:45
Администратор рассылки:Коцюрбенко Алексей Владимирович (Модератор)
Подписчиков / экспертов:22 / 16
Вопросов / ответов:3 / 15

Консультация # 31110: Доброго времени суток, господа эксперты. Вопрос: Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении не успевают загрузиться за это короткое время. Как загрузить большой файл?...
Консультация # 136160: Здравствуйте. У меня есть один вопрос. Как можно прочитать текстовый файл где перечислены значения через запятую и чтобы они отображались в виде таблицы...
Консультация # 97956: Привет . Подскажите, как на php сделать редирект или это только задача javascript. Спасибо....

Консультация # 31110:

Доброго времени суток, господа эксперты.

Вопрос: Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении не успевают загрузиться за это короткое время. Как загрузить большой файл?

Дата отправки: 08.12.2005, 22:55
Вопрос задал: Горячев Игорь
Всего ответов: 6
Страница онлайн-консультации »


Консультирует Vitava:

Здравствуйте, Горячев Игорь!
Используйте set_time_limit (0);
Снимает ограничение на количество времени, отводимое скрипту для выполнения.
Напишите этот оператор перед выполнением загрузки.
Удачи Вам.

Консультировал: Vitava
Дата отправки: 08.12.2005, 23:06
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует NeiTrinO:

Здравствуйте, Горячев Игорь!
ну во-первых, можно увеличить это время (в натуройках php.ini)
во-вторых, можно данные подгружать. Об этом подробнее в документацию, потому как примеров у меня, к сожалению, не завалялось.
В-третьих... может расскажете что Вы делаете и найдется более лучший метод?

Консультировал: NeiTrinO
Дата отправки: 09.12.2005, 00:00
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Lector:

Здравствуйте, Горячев Игорь!
Большой файл за 30 сек. - при плохой связи никак.
Можно попытаться увеличить время выполнения скриптана сервере.
Можно попросить разбить файл на несколько частей, а потом написать скрипт, который будет заниматься склеиванием.
А вообще у метода POST есть ограничение на объём передаваемых данных. Что-то около двух МБ. Не помню. Так что больше этого размера файлы вообще никгдане передадутся.
Насколько именно большой файл и в каком он формате?

Консультировал: Lector
Дата отправки: 09.12.2005, 11:25
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Ilya:

Здравствуйте, Горячев Игорь!
Во-первых можно попробовать
set_time_limit(0);
Во вторых стОит написать письмо своему хостеру, в котором описать проблему. У меня однажды был случай, когда хостер специальным демоном безопасности убивал мои скрипты, кстати один из них тоже был скриптом аплоада, тобишь загрузки файлов на сервер. Загрузка была пакетной и жрала в полтора раза больше выделенного процессорного времени в итоге я несколько раз её переписывал, убил кучу времени, а проблема оказалась простой - настройки сервера. Удачи.

Консультировал: Ilya
Дата отправки: 09.12.2005, 11:36
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Дмитрий Иванов:

Здравствуйте, Горячев Игорь!

возможности следующие:
1. изменить в php.ini параметр max_execution_time
2. использовать set_time_limit (sec) во время работы скрипта (только если php не в safemode)

Консультировал: Дмитрий Иванов
Дата отправки: 09.12.2005, 12:13
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Константин:

Здравствуйте, Горячев Игорь!
есть такая фунция set_time_lmit() которая устнавливает время вполнения скрипта, точнее она устанавливает, сколько еще должен выполняться скрипт после вызова этой функции.
вызываешь set_time_limit(300) и он выполняется еще 5 минут с момента вызова (вермя в секундах)

Консультировал: Константин
Дата отправки: 09.12.2005, 21:37
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 136160:

Здравствуйте. У меня есть один вопрос. Как можно прочитать текстовый файл где перечислены значения через запятую и чтобы они отображались в виде таблицы

Дата отправки: 10.05.2008, 09:24
Вопрос задал: CoolBick
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Загиров Рустам / Stamm:

Здравствуйте, CoolBick!
Делаем примерно так: читаем файл в массив(если он небольшой), потом заменяем запятые на теги разграничения столбцов.

Приложение:

Консультировал: Загиров Рустам / Stamm
Дата отправки: 10.05.2008, 13:43
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Peremordit:

Здравствуйте, CoolBick!
примерно так
$fn = \'адрес файла\';
if (file_exists($fn)){
$f = file($fn);
$n = count($f);
for ($i=0;$i<$n;$i++){
$tmp = explode(\',\',$f[$i]); // в массиве строка разбитая по запятым
// естественно если нужно для ячеек свои настройки,
// то следующие 3 строки переделать
echo \'<tr><td>\';
echo implode(\'</td><td>\',$tmp);
echo \'</td></tr>\';
}
} else {
действие при отсутствии файла
}

Консультировал: Peremordit
Дата отправки: 12.05.2008, 08:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Паутов Сегей Владимирович:

Здравствуйте, CoolBick!

В мануале по PHP вроде все четко и ясно написано :)
-------------------------------------------------------------------------
fgetcsv
(PHP 4, PHP 5)

fgetcsv — Читает строку из файла и производит разбор данных CSV

Описание
array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle
Корректный файловый указатель на файл, успешно открытый при помощи fopen(), popen(), или fsockopen().
length (Необязательный)
Должен быть больше самой длинной строки (в символах), найденной в CSV-файле (включая завершающий символ конца строки). Он стал необязательным в PHP 5. Если этот аргумент не указан (или равен 0 в версиях PHP 5.0.4 и выше), максимальная длинна строки не ограничена, но функция работает немного медленнее.
delimiter (Необязательный)
Устанавливает разделитель поля (только один символ). По умолчанию это запятая.
enclosure (Необязательный)
Устанавливает символ ограничителя поля (только один символ). По умолчанию это двойная кавычка. Добавлен в PHP 4.3.0.

Данная функция похожа на функцию fgets(), с той разницей, что она производит анализ строки на наличие записей в формате CSV и возвращает найденные поля в качестве массива.

Функция fgetcsv() возвращает FALSE в случае ошибки, а также по достижению конца файла.

Замечание: Пустая строка CSV-файла будет возвращена в качестве массива, содержащего единственный элемент null, ошибки в данном случае не возникнет.
Пример 577. Чтение и вывод на экран содержания CSV-файла

<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num полей в строке $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>

Консультировал: Паутов Сегей Владимирович
Дата отправки: 12.05.2008, 16:48
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 97956:

Привет . Подскажите, как на php сделать редирект или это только задача javascript. Спасибо.

Дата отправки: 10.08.2007, 15:52
Вопрос задал: Александр Михайлович
Всего ответов: 6
Страница онлайн-консультации »


Консультирует Nexus:

Здравствуйте, Александр Михайлович!

header("location: index.php");

перед вызовом ф-ции header браузеру не должны отдаваться данные. поэтому если нужен редирект с задержкой и сообщением типа "что-то-там сделано",то это уже джаваскриптом или метатэгами

Консультировал: Nexus
Дата отправки: 10.08.2007, 15:58
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Oleg S. Mezhov:

Здравствуйте, Александр Михайлович!
зависит от ваших нужд. бывают редиректы внтренние(на веб-сервере), бывают внешние(на клиенте).
если нужно сделать именно на php, то я часто использую такую функцию:

Приложение:

Консультировал: Oleg S. Mezhov
Дата отправки: 10.08.2007, 15:59
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Flynn:

Здравствуйте, Александр Михайлович!
Если у тебя не выведено еще ни одного символа, то редирект можно сделать функцией header
header("Location: all_good.php");
И соответственно можно сразу закрывать сценарий, так как того что там будет выведено, пользователь все равно не увидит, так как задержки нету :)

Консультировал: Flynn
Дата отправки: 10.08.2007, 16:19
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Gines:

Здравствуйте, Александр Михайлович!

Советую всё-таки использовать javascript
<?php
echo \'>Wind0ws.Location.Href="ссылка на страницу";</script>\';
?>

Хотя можно и с помощью PHP:

<?php
header("Location: ссылка на страницу");
exit();
?>

Подробнее можете почитать вот тут:
http://www.sb-news.net/?n=142

Консультировал: Gines
Дата отправки: 10.08.2007, 17:38
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Powoditch konstantin:

Здравствуйте, Александр Михайлович!
Нет. С помошью php редирект можно сделать тоже, используя ф-ю header().
Пример:
header("Location: some_page.php");
Только единственное НО, эта ф-я должна быть прописана в самом начале скрипта, до вывода какого-то либо html кода.

Консультировал: Powoditch konstantin
Дата отправки: 10.08.2007, 21:52
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Azrr:

Здравствуйте, Александр Михайлович!
Смотрите приложение.

Приложение:

Консультировал: Azrr
Дата отправки: 12.08.2007, 11:33
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное