ftp - загрузка файлов. пути тут непричем

Pavel-en

Новичок
Похожая проблема!

Привет!

Нужно загружать файлы на сервер. HTTP не подходит - проблемы с определение владельца загруженных файлов и, соответственно, с дальнейшими операциями с ними.

Вопрос 1: Решит ли эту проблему FTP-способ?

Решил попробовать upload по ftp и столкнулся с похожей ftp-проблемой (как у Армян). Но у хостера не сервере отключен вывод предупреждений и определить в чем конкретно проблема не удается. error_reporting(E_ALL) установленный в начале что-то не работает.
В И-нете не нашел практически ничего по ftp upload - везде молвят про http, поэтому скриптик армяна был для меня опорой.

Вот, просто для проверки, что не работает, написал кодик:

PHP:
<?php
$login="mylogin";
$pass="mypass";
$host="ftp.myhost.ru";

$tmp = $_POST['filename'];
$newname = "/home/0xxx/mysite.ru/www/diags/diagrama.jpg"; // на папку diags права стоят 777
	
$connect = ftp_connect($host) or die("Нет соединения!");
$result = ftp_login($connect, $login, $pass) or die("Не возможно авторизоваться!");

ftp_put($connect, $newname, $tmp, FTP_BINARY) or die("Не удалось загрузить.");
ftp_close($connect);
?>
Здесь на этапе ftp_put() срабатывает die().

Другие функции для работы с дирректориями тоже возвращают false. trigger_error() молчит! Лишь error_reporting(E_ALL) вместо die выдает 2047 (error_reporting случано подставил вместо die. Так можно?).

Вопрос 2: В чем может быть проблема?

Будучи не просвященным по upload тяжело разобраться. Надеюсь на понимание.
 

Фанат

oncle terrible
Команда форума
Несколько поправок.
error_reporting(E_ALL) установленный в начале что-то не работает.
как эты определил, что не работает?
нашел практически ничего по ftp upload - везде молвят про http,
естественно. поскольку загрузку файлов по фтп никто никогда аплоадом не называет.
поэтому скриптик армяна был для меня опорой.
ну да, конечно. скрипт первого же попавшегося ламера - опора.
а в документации примеры лохи пишут.
В чем может быть проблема?
НИКОГДА не задавай этого вопроса.
Тебе на него ответят. с лёгкостью. Вот только ответ тебе не понравится.
Будучи не просвященным по upload тяжело разобраться
Ни просвещение, ни посвящение аплоаду тебе не нужно. тебе надо разбираться с протоколом FTP.

Значтак.
Для начала проверяешь все переменные, участвующие в процессе.
 

Pavel-en

Новичок
Значтак.
Для начала проверяешь все переменные, участвующие в процессе. [/QUOTE]
ну да, конечно. скрипт первого же попавшегося ламера - опора. а в документации примеры лохи пишут.
Не совсем так. Я сначала, естественно, документацию посмотрел, написал скрипт, запустил - не работает. Проверил, подправил - не работает - в поиск. Вот и нашел, как говоришь, первого ламера...

как эты определил, что не работает?
Я хотел сказать, что ничего не выводиться, даже если имеется явная ошибка в коде. Так уж выразился, извиняюсь.

естественно. поскольку загрузку файлов по фтп никто никогда аплоадом не называет.
НИКОГДА не задавай этого вопроса.
Учту!

Значтак.
Для начала проверяешь все переменные, участвующие в процессе.
Что касается данных о хосте, логине и пароле, то ошибится не мог. Иначе скрипт тормознул бы раньше ftp_put'а.
Имя файла предается по POST'у
Путь к директории указывался, и абсолютный, и относительный (во втором практически не возможно ошибиться).

И всеже еще несколько раз тщательно проверил :) Все правильно!
 

Фанат

oncle terrible
Команда форума
Я хотел сказать, что ничего не выводиться, даже если имеется явная ошибка в коде.
понятно.
это значит, что не error_reporting виноват, а просто пхп не выводит ошибок на экран.
следовательно - ошибки надо смотреть в логе ошибок веб-сервера. вот туда и смотри.
Имя файла предается по POST'у
очень интересно.
мне кажется, эта фраза к слову "проверил" имеет не очень прямое отношение. как ты думаешь?

-~{}~ 27.01.07 17:36:

закрадывается в меня одно подозрение Имя файла предается "по POST'у". А сам файл?

-~{}~ 27.01.07 17:37:

Всё. сложилась у меня в голове картинка.
забудь про фтп.

Какие у тебя проблемы "с дальнейшими операциями"?
 

Pavel-en

Новичок
очень интересно.
мне кажется, эта фраза к слову "проверил" имеет не очень прямое отношение. как ты думаешь?
Хе-хе. Думаю, что ты прав.

закрадывается в меня одно подозрение Имя файла предается "по POST'у". А сам файл?
Что ты имеешь в виду... по какой это причине он не может передаваться?

к слову:
Попробовал просто прочитать директорию с помощью ftp_nlist() и тут конфуз. Похоже, практически все функции ftp_... в которых указывается файл или директория возращают fasle.

Значт корень всех ошибок выше. Хм, даже самому ну очень интересно, ведь пути и имена верные.

Посмотрю в логи...

Всё. сложилась у меня в голове картинка.
забудь про фтп.
Я тоже уже так подумываю. Но как быть с правами, если аплоадить по http? Изменить UID никто не позволит. А если UID моего на файле нет, то я даже переместить его не могу.
 

Фанат

oncle terrible
Команда форума
Да. корень гораздо выше. В голове.
Откуда куда ты передаёшь файл?
 

donflash

Вареник клуба
может, имеет смысл
PHP:
ini_set('display_errors', true)
сделать, чтобы ошибки увидеть...
 

Pavel-en

Новичок
В смысле откуда куда? Помоему это обсуждается на протяжении всей темы. Или я не правильно понял?

может, имеет смысл
ini_set('display_errors', true)
сделать, чтобы ошибки увидеть...
Это я уже прошел. Не помогло.
 

Фанат

oncle terrible
Команда форума
что ты неправильно понял? мой вопрос?
какая его часть тебе непонятна?
Первая? Откуда ты передаёшь файл?
вторая часть? Куда ты передаёшь свой файл?

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