Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скрипт загрузки файлов на FTP 
:(
    Опции темы
Elio
  Дата 11.1.2007, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владелец



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Пожалуйста помогите! Гуру в асе отвечать не хотят, может хоть тут ответите...

В пхп розбираюсть только в готовых движках  smile 
Вообщем есть скрипт... взял его с http://www.php.net/manual/ru/ref.ftp.php

Обычный скрипт загрузки файлов на фтп

Ниже он уже с моими данными
Код

<?php
if(isset($_POST['start_upload']) && $_FILES['txt_file']['name'] != ""){
     
   $local_file = $_FILES['txt_file']['tmp_name']; // Defines Name of Local File to be Uploaded

   $destination_file = "/".basename($_FILES['txt_file']['name']);  // Path for File Upload (relative to your login dir)

   // Global Connection Settings
   $ftp_server = "ftp://85.202.104.90/Incoming/Test/";      // FTP Server Address (exlucde ftp://)
   $ftp_user_name = "Anonymous";    // FTP Server Username
   $ftp_user_pass = "";      // Password

   // Connect to FTP Server
   $conn_id = ftp_connect($ftp_server);
   // Login to FTP Server
   $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
   
   // Verify Log In Status
   if ((!$conn_id) || (!$login_result)) {
       echo "FTP connection has failed! <br />";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name";
       exit;
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name <br />";
   }

   $upload = ftp_put($conn_id, $destination_file, $local_file, FTP_BINARY);  // Upload the File
   
   // Verify Upload Status
   if (!$upload) {
       echo "<h2>FTP upload of ".$_FILES['txt_file']['name']." has failed!</h2><br /><br />";
   } else {
       echo "Success!<br />" . $_FILES['txt_file']['name'] . " has been uploaded to " . $ftp_server . $destination_file . "!<br /><br />";
   }

   ftp_close($conn_id); // Close the FTP Connection
}
?>

<html>
   <head>
       <script type="text/javascript">
           window.onload = function() {
               document.getElementById("progress").style.visibility = "hidden";
               document.getElementById("prog_text").style.visibility = "hidden";
           }
           
           function dispProgress() {
               document.getElementById("progress").style.visibility = "visible";
               document.getElementById("prog_text").style.visibility = "visible";
           }
           
       </script>
       
   </head>
   <body>
       <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data">
           Please choose a file: <input name="txt_file" type="file" size="35" />
           <input type="submit" name="start_upload" value="Upload File" onClick="dispProgress()" />
       </form>
       
       <!-- Link to progress file: see http://www.ajaxload.info/ for animated gifs -->
       <img id="progress" src="http://www.your.site/images/progress.gif" />
       <p id="prog_text" style="display:inline;"> Upload Started!</p>
       
   </body>
<html> 



При попытке загрузить что-то, выдает ошибку
Код

Warning: ftp_connect() [function.ftp-connect]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/miliongr/public_html/ftp/index.php on line 14

Warning: ftp_login() expects parameter 1 to be resource, boolean given in /home/miliongr/public_html/ftp/index.php on line 16
FTP connection has failed! 
Attempted to connect to ftp://85.202.104.90/Incoming/Test/ for user Anonymous


Может я ввожу какие-то неправильные данные для анонимного входа?

И что это за загадочная строчка? Надо какйто текстовый файл с какими-то данными?
Код

 $destination_file = "/".basename($_FILES['txt_file']['name']);  // Path for File Upload (relative to your login dir)


Объясните пожалуйста!

PM MAIL   Вверх
Black Rabbit
Дата 12.1.2007, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.10.2004

Репутация: нет
Всего: 2



Ошибка тут
 $ftp_server = "ftp://85.202.104.90/Incoming/Test/";      

Надо  так
$ftp_server = "85.202.104.90";   

а потом менять рабочую  директорию и делать  загрузку файла 
Код


ftp_chdir($ftp,'/Incoming/Test'));
$upload = ftp_put($conn_id, basename($local_file), $local_file, FTP_BINARY); 


либо сразу

Код

$upload = ftp_put($conn_id, '/Incoming/Test/'.basename($local_file), $local_file, FTP_BINARY);


В твоем случае $_FILES['txt_file']['name']) - это $local_file, путь до загружаемого локального файла
basename($local_file) - возвращает имя  файла

 например $local_file='../files/some_file.mp3'
 тогда basename($local_file)  - some_file.mp3'
$upload = ftp_put($conn_id, '/Incoming/Test/some_file.mp3'', '../files/some_file.mp3', FTP_BINARY);
PM MAIL ICQ   Вверх
Elio
  Дата 13.1.2007, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владелец



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Большое спасибо!

Но как я понял вместо стандартной 27 строчки
Код

 $upload = ftp_put($conn_id, $destination_file, $local_file, FTP_BINARY);  // Upload the File

Надо вставить то что вы предолжили
Код

$upload = ftp_put($conn_id, '/Incoming/Test/'.basename($local_file), $local_file, FTP_BINARY); 


Я вставил, но все равно 27 строчка ругаеться  smile . Подскажите, что не так?
PM MAIL   Вверх
Mal Hack
Дата 13.1.2007, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Файл сначала надо загрузить на сервер, через move_upload_file, а только потом на FTP
PM ICQ   Вверх
Elio
Дата 13.1.2007, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владелец



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Цитата(Mal Hack @ 13.1.2007,  01:34)
Файл сначала надо загрузить на сервер, через move_upload_file, а только потом на FTP

А как это сделать? буквально что-то загрузить или ещё что-то поменять в коде?
PM MAIL   Вверх
Mal Hack
Дата 13.1.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Elio, вбей в поиск "move_upload_file" и поймешь как загрузить, а потом уже загруженный файл кидаешь на FTP так, как ты уже это делал.
PM ICQ   Вверх
Elio
Дата 14.1.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владелец



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Цитата(Mal Hack @ 13.1.2007,  14:17)
Elio, вбей в поиск "move_upload_file" и поймешь как загрузить, а потом уже загруженный файл кидаешь на FTP так, как ты уже это делал.

Посмотрел... эта команда перемещает загруженный файл в новое место...
Для начало выходить нужно загрузить файл на серевер через HTTP, а потом с помощью этой команды он переместиться на FTP? Выходит нужно ещё искать скрипт загрузки файла по пртоколу HTTP?
PM MAIL   Вверх
Mal Hack
Дата 14.1.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Elio, а ты как хотел? Когда ты загружаешь файл через форму, он в /tmp помещается, считай в памяти, поэтому его сначала на сервер надо сохранить...

Цитата(Elio @  14.1.2007,  13:23 Найти цитируемый пост)
Выходит нужно ещё искать скрипт загрузки файла по пртоколу HTTP? 

Нет, нужно добавить 5-6 строчек в твоей код.
PM ICQ   Вверх
Elio
Дата 14.1.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владелец



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Цитата(Mal Hack @ 14.1.2007,  14:11)
Нет, нужно добавить 5-6 строчек в твоей код.

Может тут есть уже готовое решение? http://www.php.net/manual/ru/ref.ftp.php

Просто я совсем не розбераюсь...  smile 
PM MAIL   Вверх
Mal Hack
Дата 14.1.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Цитата(Elio @  14.1.2007,  15:18 Найти цитируемый пост)
Может тут есть уже готовое решение? http://www.php.net/manual/ru/ref.ftp.php

Нет.

Цитата(Elio @  14.1.2007,  15:18 Найти цитируемый пост)
Просто я совсем не розбераюсь...  smile  

В таком случае вам в форум "Работа" или в "Работа с готовыми скриптами". А тут помогают писать скрипты, а не пишут за вас.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0794 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.