Загрузка по FTP и переименование

simplyv

Новичок
Загрузка по FTP и переименование

Можно ли сделать так, чтобы при загрузке файл переименовывался.
Вдруг там есть файл с таким же именем (грузится-то вслепую) и он будет заменен.
Возникает путанница, а так дать новое имя.

<?
$ftp_server = "host.ru";
$ftp_user_name = "login";
$ftp_user_pass = 'pass';

// Открываем файл для чтения
$file = '100.avi';
$fp = fopen($file, 'r');
// Устанавливаем соединение в FTP-сервером
$conn_id = ftp_connect($ftp_server);
// Регистрируемся на сервере
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Загружаем файл
if (ftp_fput($conn_id, $file, $fp, FTP_BINARY))
{
echo "Successfully uploaded $file\n";
}
else
{
echo "There was a problem while uploading $file\n";
}
// Закрываем файл и соединение с FTP-сервером
ftp_close($conn_id);
fclose($fp);
?>
 

simplyv

Новичок
А это не усложнение? Меня устроит проще, сразу переименовать, например давать имя

$NewName = date(mdHis)

Тут и думать не надо и найти, сортировать просто.
 

Dovg

Продвинутый новичок
А в чем вопрос?

ps. Всякие тоталл Коммандеры, Крусадеры и прочие клиенты
сначала проверяют есть ли файл с таким же именем, а уже потом пишут
 

simplyv

Новичок
А при чем тут Коммандеры?
Вопрос был о закачке файла через веб-интерфейс, через браузер посредством PHP. К тому же приведен пример.
Возможно ли добавить переименование?
 

Bitterman

Новичок
А во что ты его собираешься переименовывать, так, чтобы быть уверенным в том, что такого файла нет? Не проще ли сразу заливать под уникальным именем?
 

simplyv

Новичок
Я же писал

$NewName = date(mdHis);

Таким образом имя будет точно уникальное.
Что непонятного в вопросе?
Нужен просто ответ, если вы его знаете.
Если же не знаете, нет проблем.
 

Активист

Активист
Команда форума
Какие мы все ленивые пошли...

>А это не усложнение? Меня устроит проще, сразу переименовать,
>например давать имя

Давай хоть какое имя! Это сложно реализовать и усложняет твой код до максимума?
1. Подключиться к FTP
2. Перейти в нужную директорию
3. Получить список загруженных файлов
4. Если имя есть в списке загруженных файлов, то:
Пока имя не будет уникальным добавлять что-то к имени файла (счетчик, дату, timestamp)
5. Записать файл с новым названием
6. Закрыть FTP соединение.


http://php.net/ftp
тебе поможет!

За то время, сколько ты думал усложняю ли я задачу, давно мог уже все реализовать!

-~{}~ 21.03.08 12:41:

ЗЫ: по теории вероятности уникальным быть ни что не может. Что бы не писать гавнокод делай все логично.
 

simplyv

Новичок
Да мне не нужно, чтобы добавлялось что-то к одним и не добавлялось к другим, а называть все, тогда ориентироваться легче мне.
Задал вопрос не для того, чтобы кто-то сделал это проблемой и героически решал. Я спросил, если кто знает, может сказать, за что буду благодарен. Точно также и я отвечаю, если знаю ответ на заданный вопрос и не отвечаю.
Это вообще-то форум и это и есть его цель, а не упреки в лени.
 

Фанат

oncle terrible
Команда форума
Неправда =)
Ты путаешь форум и службу техподдержки.
А форум - место общения.
Если тебе не нравится чей-то упрек, ты можешь на него не обращать внимание.

На этом давайте оффтопик закончим.
 

simplyv

Новичок
Да не путаю. Есть Элементарная порядочность и умение думать. Этот форум - не место для базара для тех, кому нечем заняться, а тематический, иначе в нем нет смысла.

Мне никто не обязан отвечать. Да и не ответил, причем никто и ни когда, возникает вопрос, а какая цель у этого форума?

Есть другие форумы этой же тематики, где поприличней поведение и ответы которые дают объяснения или подталктвают думать в нужном направлении.
 

dimagolov

Новичок
simplyv, ну не нравятся тебе ответы на этом форуме, так почему ты считаешь, что все тут сразу должны начать нравится тебе? тебя же никто сюда писать не заставлял? и читать ответы тоже? а решать чье поведение приличное а чье нет отсавь модераторам
 

Фанат

oncle terrible
Команда форума
simplyv
Мне никто не обязан отвечать.
Ты прав на 100%. Действительно, не обязан.
Но это не значит, что кому-то запрещено тебе отвечать.
А вот ты, в свою очередь, не обязан реагировать на ответ, который тебе не понравился. Логично?

Ты путаешь понятия "тематический" и "удобный персонально мне".
 

simplyv

Новичок
В чем я путаю? В том, что сейчас активный базар и это тематический форум по PHP?
В чем удобно лично мне? В том, что надо вести себя порядочно? Да удобно и удобно для всех, потому и существует этика.

Ладно, заканчиваю, зря зашел.
 
Сверху