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

Поиск:

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


Бывалый
*


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

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



Помогите сделать залифку на ftp с етова скриптика...
То-есть надо чоб файлы сразу создавались на сервере.
Код

  $fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp){
            echo "<b><font color=red>Неудачно\n";
            logerror(false);
            }
            fwrite($fp,$tpl_out);
            fclose($fp);
            logerror(true);
            print 'создан - > '.$name.''.$_POST['1'].'</font></b><br>';
            flush();
        }
        if ($tfp) {fclose($tfp);}
        
//Создание карты
$endhead=('
</body>
</html>');
$bot=('1');
        $fp=fopen(''.$_POST['dir'].'/'.$_POST['map'].'','w');
        fwrite($fp,''.$_POST['heade'].'');
        fwrite($fp,$l);
        fwrite($fp,$endhead);
        fwrite($fp,$bot);
        fclose($fp);
        if (!$fp)
        {
        echo "<b><font color=red>Неудачно\n";
        logerror(false);
    }
        print 'создана карта -> '.$_POST['map'].'</b></font><br>';


PM MAIL   Вверх
teroni
Дата 1.6.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

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



Не понятно, в чем суть вопроса...
Код

<?php
// скрипт скачивает файл http://remote.com/file.mp3 на ftp.example.com в www/public/file.mp3
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'login', 'password');

if ((!$conn_id) || (!$login_result))
   {
   echo "Не удалось установить соединение с FTP сервером!";
   exit;
   }
else
   {
   echo "Установлено соединение с FTP сервером!<br />";
   $fp = fopen('http://remote.com/file.mp3', 'r');
   if(ftp_fput($conn_id, "www/public/file.mp3", $fp, FTP_BINARY))
      {
      echo "Загружен файл filename<br />";
      }
      else
      {
      echo "Проблема закачивания $file<br />";
      }
ftp_close($conn_id);
?>


Это сообщение отредактировал(а) teroni - 1.6.2007, 21:54
PM MAIL   Вверх
Another
Дата 1.6.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



не, вот скрипт создает файлы: smile 
Код

  $fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp){
            echo "<b><font color=red>Неудачно\n";
            logerror(false);
            }
            fwrite($fp,$tpl_out);
            fclose($fp);
            logerror(true);
            print 'создан - > '.$name.''.$_POST['1'].'</font></b><br>';
            flush();

А надо чоб он все эти(пару сотен) файлы создавал сразу на другом сервере.
PM MAIL   Вверх
teroni
Дата 1.6.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

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



Создавай на своем сервере, потом сливай сразу на чужой и удаляй.
PM MAIL   Вверх
Golda
Дата 2.6.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

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



Если файл еще не существует, проблем нет. Пользуйтесь функциями fopen()fwrite()..., как при работе с локальной файловой системой, а путь укажите в формате

ftp://username:[email protected]/path/to/file

Если существует, и хотите перезаписать - чуть сложнее. В четвертом не получится, а в пятом нужно через stream_* функции создать контекст:
Код


$filew="ftp://gufo:[email protected]:21/jj.php";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($filew,$str,LOCK_EX,$context);







--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Another
Дата 2.6.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile  с моего кода... Я плоховато знаю php
PM MAIL   Вверх
xolod
Дата 2.6.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Golda @  2.6.2007,  16:05 Найти цитируемый пост)
хотите перезаписать - чуть сложнее. В четвертом не получится

То, что вы скопировали код, написанный на http://ru2.php.net/manual/ru/wrappers.ftp.php#57168, это здорово.
Только не вводите людей в заблуждение...
Цитата

Streams were introduced with PHP 4.3.0 as a way of generalizing file


...и предупреждайте
Цитата

If the server does not support passive mode ftp, the connection will fail.

Да, еще старые ftp-сервера плохо работают или не работают вовсе.

Another, вы бы пролистнули документацию, она классная. Серьезно.
http://ru2.php.net/manual/ru/ref.ftp.php
http://ru2.php.net/manual/ru/wrappers.ftp.php
http://ru2.php.net/manual/ru/ref.filesystem.php
PM MAIL   Вверх
Another
Дата 2.6.2007, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну создать подключение с ftp я смогу, а как прикрепить его к коду создание страниц покажите!?
Код:
Код

$fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp){
            echo "<b><font color=red>Неудачно\n";
            logerror(false);
            }
            fwrite($fp,$tpl_out);
            fclose($fp);
            logerror(true);
            print 'создан - > '.$name.''.$_POST['1'].'</font></b><br>';
            flush();
        }
        if ($tfp) {fclose($tfp);}
        
//Создание карты
$endhead=('
</body>
</html>');
$bot=('1');
        $fp=fopen(''.$_POST['dir'].'/'.$_POST['map'].'','w');
        fwrite($fp,''.$_POST['heade'].'');
        fwrite($fp,$l);
        fwrite($fp,$endhead);
        fwrite($fp,$bot);
        fclose($fp);
        if (!$fp)
        {
        echo "<b><font color=red>Неудачно\n";
        logerror(false);
    }
        print 'создана карта -> '.$_POST['map'].'</b></font><br>';


PM MAIL   Вверх
Golda
Дата 2.6.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

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



xolod, я согласна, что streams появились в 4.3. Но согласно все той же странице документации http://il2.php.net/manual/en/wrappers.ftp.php, откуда, как Вы совершенно справедливо заметили, я скопировала код, именно перезаписывание существующих файлов с помощью враперов доступно, начиная с пятого.

Цитата

Table O.4. Wrapper Summary
Attribute                              PHP 4                    PHP 5
Restricted by allow_url_fopen    Yes                        Yes
Allows Reading                         Yes                        Yes
Allows Writing                          Yes (new files only)    Yes (new files/existing files with overwrite)
...


Если у Вас есть другая информация, поделитесь.  smile Или Вы имеете в виду использование streams не на уровне wrappers, работу с сокетами?

Что касается старых серверов и passive mode, Вы, конечно, правы. Можно еще использовать ftp_* - функции. Читала, но еще не пробовала.


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




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


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

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