[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с загрузкой файлов на фтп
svolota
С пк польз нужно отправить файл (размер более 700мб) на фтп сервер. ftp_put($connect, $rfilename, $lfile, FTP_BINARY); проблема в том что нужно указать полный путь к файлу ($lfile), пробовал передать путь из формы input type = file, передаётся лишь название, как сделать так чтобы польз с помощью всплывающего окна "открыть..." его указывал, а не в ручную писать полный путь? ph34r.gif



Спустя 10 часов, 12 минут, 8 секунд (1.05.2011 - 11:42) memba написал(а):
А зачем вам путь то вообще?
input type = file - открывается окошко выбора файла, в зависимости от браузера, в поле где должен быть путь, будет либо путь, либо имя файла, либо сокращённый путь. На загрузку файла это не влияет

Спустя 1 час, 50 минут, 50 секунд (1.05.2011 - 13:33) svolota написал(а):
input type = file - возвращает только имя файла, пути к локальному файлу там нет. Через такую форму большие файлы не загрузишь (т.к для файла размеров 700Мб нужно выделить опер около 1Гб и перед копированием непосредств в нужную папку он переписываться будет в тмп) мне нужно загрузить файл через ФТП, есть команда ftp_put(), но мне нужно как то указать полный путь к локальному файлу.

Спустя 3 часа, 30 минут, 42 секунды (1.05.2011 - 17:04) walerus написал(а):
Я недопонял вопроса
Цитата

С пк польз нужно отправить файл (размер более 700мб) на фтп сервер.


как пользователь отправляет файл, точнее с помощью чего?, своего скрипта?, с локального сервера? или же скрипт установлен на сервере ?

Если на сервере, то ничего мудренного там нет, обычная мультипарт форма, только одно НО, есть ограничение по максимальному размеру файла, устанавливается вот этим - "upload_max_filesize".

Так же нужно в .htaccess прописать строчку
php_value upload_max_filesize 50000000 таким методом мы принудительно меняем максимально допустимый размер загружаемого файла.

Спустя 2 часа, 6 минут, 2 секунды (1.05.2011 - 19:10) svolota написал(а):
"php_value upload_max_filesize 50000000"<facepalm> эта опция для формы input type = file. мне нужно, чтобы при выходе к примру на upload.php отобразилось форма для выбора директ, где находится файл, польз выбирает свой файл(скорее всего это будет фильм), после того как он его выбрал нажимает кнопк узагрузить, после этого файл пересылается на фтп сервер.

Спустя 43 минуты, 7 секунд (1.05.2011 - 19:53) walerus написал(а):
Бред какой то, обычная форма
<form method="POST" enctype="multipart/form-data" action="upload.php">	
<
p>
<
input type="file" name="F1" size="20">
<
input type="submit" value="Загрузить" name="B1">
<
input type="reset" value="Сброс" name="B2"></p>
</
form>


в файле upload.php

сохраняем файл куда нужно.

Покажите свою форму отправления...

Спустя 2 часа, 2 минуты, 16 секунд (1.05.2011 - 21:55) svolota написал(а):
форма отправления
<?
echo "<form action=\"upload.php\" method=\"post\" enctype=\"multipart/form-data\">";
echo "<input type=\"file\" name=\"filename\"><br>";
echo "<input type=\"submit\" value=\"Загрузить\"><br>";
echo "</form>";
?>

upload.php

if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
$ftp_server = "xxxxx";
$ftp_port = 21;
$connect = ftp_connect($ftp_server, $ftp_port) or die("Невозможно связаться с FTP сервером");
$user = "admin";
$password = "";
ftp_login($connect,$user,$password);
$ftp_file = $_FILES["filename"]["tmp_name"];
$ftp_filename = $_FILES["filename"]["name"];//имя файла
ftp_put($connect, $ftp_filename, $ftp_file, FTP_BINARY);


можно ли как то обойти перемещение в тмп и сразу загрузить файл на фтп?

Спустя 36 минут, 20 секунд (1.05.2011 - 22:32) walerus написал(а):
Скрипт где находится ? все на сервере или как ? если на сервере, почему не воспользоваться функцией copy ?


<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
echo "не удалось скопировать $file...\n";
}
?>


или смысл скрипта в том чтоб именно по FTP записать файл?

Цитата
можно ли как то обойти перемещение в тмп и сразу загрузить файл на фтп?


На сколько я помню - нет, нельзя.

Спустя 1 час, 36 минут, 24 секунды (2.05.2011 - 00:08) svolota написал(а):
Цитата (walerus @ 1.05.2011 - 19:32)
Скрипт где находится ? все на сервере или как ? если на сервере, почему не воспользоваться функцией copy ?


<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "не удалось скопировать $file...\n";
}
?>

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

Спустя 7 минут, 16 секунд (2.05.2011 - 00:15) walerus написал(а):
Посмотрите это -
http://teaseo.ru/php/php-zagruzka-bolshix-fajlov-s-progress-barom-uber-uploader/470
может поможет, хотя это не совсем по ftp...

Спустя 56 минут, 47 секунд (2.05.2011 - 01:12) svolota написал(а):
Пришёл к выводу что лучше написать аплодер какой нибудь с минимальным кол-вом функций для простоты, спс.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.