|
|
|
| Здравствуйте!!!
Мне нужно зделать загрузку видео клипов на сервер, один клиб примерно занемает 5 мегабайт. Насколько я знаю у ПХП стоит 30 секунд работы но за это време 5 мегабайт не загрузица. Как мне можно переделать време работы ПХП? | |
|
|
|
|
|
|
|
для: Адоп Акробат
(24.10.2004 в 03:54)
| | Хм... вообще-то для установки другого времени исполнения скрипта предназначена функция
<?php
set_time_limit(120);
?>
|
принимающая в качестве единственного аргумента новое время исполнения скрипта в секундах. Только вот на большинстве хостингов включён безопасный режим и функция не действует.
PS Так ведь не обязательно тянуть с машины клиента клип, можно дождаться когда сервер загрузит его во временную директорию и работать с ним уже на сервере. Мне кажется тут проблем не будет. | |
|
|
|
|
|
|
|
для: cheops
(24.10.2004 в 12:03)
| | >PS Так ведь не обязательно тянуть с машины клиента клип, можно дождаться когда
>сервер загрузит его во временную директорию и работать с ним уже на сервере.
>Мне кажется тут проблем не будет.
Мне так былобы удобней но просто мне заказали зделать сайт и там нада зделать админку для загрузки видео | |
|
|
|
|
|
|
|
для: Адоп Акробат
(24.10.2004 в 16:34)
| | Хм... если форма содержит элемент управления FILE:
<form enctype='multipart/form-data' action=update.php method=post>
Клип: <input type=file name=image size=61>
<input type=submit name=send value=Отправить>
</form>
|
Тогда её обработчик можно организовать следующим образом
<?php
// Если во временном каталоге имеется соответствующий полю image
// файл, копируем его из временного каталога в каталог /files
if (!empty($_FILES['image']['tmp_name']))
{
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
if (copy($_FILES['image']['tmp_name'], "files/".$_FILES['image']['name']))
{
// Уничтожаем файл во временной директории
unlink($_FILES['image']['tmp_name']);
// Изменяем права доступа к файлу
chmod("files/".$_FILES['image']['name'], 0644);
}
}
?>
|
PS Тогда тянуть файл PHP-скриптом с клиентской машины не нужно, нужно только дождаться когда сервер сам договорится с клиентом (он и времени на загрузку выделит столько сколько нужно) и поместит клип во временной директории в файле с именем $_FILES['image']['tmp_name']. Скрипт обработки будет запущен после того, как сервер получит все данные от клиента и будет работать заведомо меньше 30 секунд. | |
|
|
|
|
|
|
|
для: cheops
(24.10.2004 в 16:55)
| | А значит если я использую $_FILES то тогда сервер сам дает столько време сколько нужно загрузить фаил я так понил? | |
|
|
|
|
|
|
|
для: Адоп Акробат
(24.10.2004 в 17:00)
| | Ну почти так, если вы в качестве аргумента функции copy() указываете имя файла, то PHP-скрипт тащит его с клиентской (удалённой) машины сам, если указываете имя временного файла, то он берёт из временного каталога то, что загрузил сервер (кстати, у большинства серверов размер загружаемого файла ограничен 8 Мб), у которого временные ограничения совсем другие. | |
|
|
|
|
|
|
|
для: cheops
(24.10.2004 в 17:06)
| | Ага понил спасиба Хеопс | |
|
|
|