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
Форумы портала PHP.SU :: Версия для печати :: Загрузка файлов на фтп с ПК
Форумы портала PHP.SU » PHP » Программирование на PHP » Загрузка файлов на фтп с ПК

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

1. MoNSTRiK - 15 Декабря, 2009 - 12:43:46 - перейти к сообщению
нашёл мануал, как создать загрузку файла на фтп. Это решит первую проблему объёма файлов. Так как в пхп на сервере есть ограничение в 100 мегабайт.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file = 'somefile.txt';
  3. $remote_file = 'readme.txt';
  4.  
  5. // установка соединения
  6. $conn_id = ftp_connect($ftp_server);
  7.  
  8. // проверка имени пользователя и пароля
  9. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  10.  
  11. // загрузка файла
  12. if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
  13.  echo "$file загружен на сервер\n";
  14. } else {
  15.  echo "Не удалось загрузить $file на сервер\n";
  16. }
  17.  
  18. // закрытие соединения
  19. ftp_close($conn_id);
  20. ?>


Всё бы хорошо и понятно, но етсь одно но. надо организовать загрузку с пк... а не с сервера...

Предположил, что создаём форму загрузки на странице и черезе переменную GET передаёт путь файла на пк (C:/file/1Gb.rar). И тогда в скрипте выше будет переменная $file = 'C:/file/1Gb.rar';


Одно сомнение, а правельно ли я думаю??? Будит ли такой метод работать, при указании прямого файла с пк?

Ни когда не работал с ФТП, так что не ругайтесь сильно Улыбка Спасибо за ответ, за ранее.
2. Carzil - 15 Декабря, 2009 - 13:08:28 - перейти к сообщению
http://php[dot]su/phphttp/?uploads
(Добавление)
MoNSTRiK пишет:
Одно сомнение, а правельно ли я думаю??? Будит ли такой метод работать, при указании прямого файла с пк?

Я думаю да.
Но всё же с upload работать лучше.
3. MoNSTRiK - 15 Декабря, 2009 - 13:51:22 - перейти к сообщению
согласен, но на хостинге ограничение в 100 мегабайт, а проблемму данную надо решить Улыбка так как файлы у нас до 1 Гб точно будут.
4. Carzil - 15 Декабря, 2009 - 13:52:32 - перейти к сообщению
С ftp тоже самое будет. Так хостинг не обманешь.
5. Stierus - 15 Декабря, 2009 - 14:43:41 - перейти к сообщению
Я правильно понимаю, ты хочешь php-Скриптом, работающем на хостинге, загрузить файл, находящийся у пользователя на компе совершенно на другой сервер ? о_О Если правильно - то работать такое не будет - тебе надо будет сначала с помощью форм загружать файл пользователя на свой сервер, а потом точно так же передавать его на сторонний сервер
6. MoNSTRiK - 15 Декабря, 2009 - 14:46:06 - перейти к сообщению
в том то и дело что если работать через пхп, как ты сказал выше Улыбка то на хосте написано так:

Цитата:
Как увеличить объем загружаемого файла через скрипты?

Чтобы увеличить объем загружаемого файла через скрипты, создайте файл .htaccess в папке скрипта или папке домена и поместите в него следующие директивы:

php_value upload_max_filesize 15M
php_value post_max_size 15M

Вместо 15 укажите нужный вам объем загружаемого файла.

Примечание: Максимальный объем загружаемого файла 100 Мбайт


А через фтп я сам могу ограничивать какой максимальный поток пойдёт. Следовательно через фтп реально это сделать.

Хм ммм или я неправ? .... Ведь тут совсем другой способ.... фтп там нет ограничений таких Улыбка
(Добавление)
Stierus пишет:
Я правильно понимаю, ты хочешь php-Скриптом, работающем на хостинге, загрузить файл, находящийся у пользователя на компе совершенно на другой сервер ? о_О Если правильно - то работать такое не будет - тебе надо будет сначала с помощью форм загружать файл пользователя на свой сервер, а потом точно так же передавать его на сторонний сервер


Файлы в любом случае будут грузиться на один хост, где и сайт висит
методом http://php.su/phphttp/?uploads хостер ограничивает максимальный объём.

Подумал что можно через фтп пустить где в целом ограничения нету. Хостер тот же.
7. Stierus - 15 Декабря, 2009 - 15:00:10 - перейти к сообщению
ну ты логически подумай :
клиент пишет в адресной строке HTTP://SiteNAme/upload.php
выбирает файл и нажимает отправить, после чего на сервер отправляется POST HTTP запрос с вложенным содержимым файла ... при чем тут ftp ?
8. Hunter - 15 Декабря, 2009 - 15:11:20 - перейти к сообщению
дествительно, если все файлы хранятся на одном хосте и хостер определяет определенное ограничение в объеме под хранение файлов все усилия по данному вопросу бесполезная трата времени, не важно каким методом ты зальешь файл на сервер, важно то что он окажется на сервере. Метод лишь выбирается в зависимости от того кто будет грузить эти файлы: ты или пользователисайта. Естественно ты можешь воспользоваться ftp протоколом, а клиент естественно будет использовать upload/

можно конечно организовать хранение файлов на бесплатном хосте а пользоваться ими от туда откуда душе угодно, но это станет причиной ряда уже других проблем. хотя в принципе это не сложно)))
9. MoNSTRiK - 15 Декабря, 2009 - 15:26:51 - перейти к сообщению
эх. ребят не то, Вы меня не совсем поняли Улыбка)) Ладно, может кто ещё прочтёт и поймёт правильно. Спасибо за участие.
10. Hunter - 15 Декабря, 2009 - 15:43:06 - перейти к сообщению
MoNSTRiK
прочитал еще раз..
если правильно тебя понял вся проблема не в пространстве под хранение а в ограничении обьема передаваемых данных?

если так то сам ты не сможешь преодолеть рубеж в 100 Мбайт. Это, увы, в компитенции хостера.. обращаться нужно к нему.. ну а что касается вопроса ftp или upload - аплоадом тоже можно запросто передать гиговый архив. в файле php.ini есть директива post_max_size которая отвечает за максимальный объем передаваемых данных, но тут вроде тоже хостер рулит..
11. Stierus - 15 Декабря, 2009 - 15:43:13 - перейти к сообщению
1. Есть FTP клиент и есть FTP сервер ... у пользователя 100% клиент и далеко не факт, что есть сервер ... тоесть в роли сервера в любом случае выступает твой хостер.
2. Сервер не инициализирует соединения, он лишь получает запросы и выполняет (или не выполняет) что от него просят.

Тоесть в любом случае, инициализация запроса передачи файла серверу лежит на пользователе, тут Php бессилен - тебе надо смотреть в сторону java-аппелтов, флэша, яваскрипта и прочих КЛИЕНТСКИХ приложений ... которые будут вместо пользователя инициировать это обращение к ftp-серверу. Php тут совершенно не при чем, даже на сервере этот файл будет получать не Php, а ftp-сервер (ну а у клиента будет отдавать и инициализировать тот, кого найдешь - яваскрипт это может врят ли).
12. MoNSTRiK - 15 Декабря, 2009 - 19:56:36 - перейти к сообщению
Вот, теперь суть верна, почти.

Только у пользователя нету фактически ФТП клиента. за ФТП клиент должен быть браузер и двиг.

Жава, не рулит в данной области, так как ни нашел ни одного подтверждения тому.

По сути надо через браузер передать фтп серверу файл больше гигобайта или просто больше чем указано в php.ini

... Если есть какие нить варианты.... расмотреть бы Улыбка

Спасибо ребят.
13. djuice - 13 Сентября, 2010 - 13:58:21 - перейти к сообщению
Всем привет!Подскажите как написать скрипт (или есть готовый) загрузки изображений на сайт и сервер с уменьшением размера.
Например: 1.файл весит 500 КБ-уменьшит до 50 кб
2.Размер файла 1024х768 - уменьшить до желаемого размера.
Как это можно сделать как на подобие движка DLE?

 

Powered by ExBB FM 1.0 RC1