![]() |
Помогите аплоадить файлы на Ftp.
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="f" value="1"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <?php #phpinfo(); if (isset ($_POST['f'])) { #$uploaddir = 'http://www.name_site/fotos/'; $uploaddir = 'image/'; $uploadfile = $uploaddir . $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name' ], $uploadfile)) { print "File is valid, and was successfully uploaded. "; print "Here's some more debugging info:\n"; print_r($_FILES); } else { print "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); } print "</pre>"; } else {echo "enter eny file destination";} ?> ---------- это как я понимаю просто аплоадить файлы...Но с фтп насколько я догадываюсь должно дело по- другому происходить, т.к. на FTP есть логин и пароль,права ведь не у всех есть???Как это правильно сделать расталкуйте? Выше- видите скрипт - это максимум покаместь до чего я додумалась....В чем трабл??? |
http://ru.php.net/manual/ru/ref.ftp.php
Добавлено через 1 минуту: Или http://www.faqs.org/rfcs/rfc959 и http://ru.php.net/manual/ru/function.fsockopen.php |
Странно, читала мануалку а этого не заметла!!!хм. спасибо. ща пошаманю:)
Добавлено через 1 час и 32 минуты: <form enctype="multipart/form-data" action="upload.php" method="POST"> <input type="hidden" name="f" value="1"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <?php if (isset ($_POST['f'])) { $file=$_FILES['userfile']; $remote_file=$_FILES['userfile']; $ftp_server= 'ftp://desigto@10.0.2.5/sit/news_images/'; $conn_id = ftp_connect($ftp_server); $ftp_user_name='desigto'; $ftp_user_pass='desigto'; $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass,'w'); if (ftp_fput($conn_id, $remote_file, $file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; } ftp_close($conn_id); } ?> <a href='ftp://desigto@10.0.2.5/sit/news_images/'> link</a> В чем трабл??? не работает...пишет Fatal error: Call to undefined function: ftp_connect() in /usr/home/tonka/ftp/upload.php on line 12 это значит что он не может подконектиться к фтп...ПОЧЕМУ???????? localhost тоже самое говорит...я не знаю проадреса....помогите.... (рыдая от горя... ) |
А у тебя на локалхосте фтп стоит? Попробуй сконнектиться обычным фтп клиентом
|
http://10.0.2.5/~tonka/upload.phpну вообще когда я писала скл запросы...на пхп...я чиплялась к localhost
Добавлено через 1 минуту: что такое фтп клиент.?наверное да |
Короче говоря когда ты обращаешься к http://10.0.2.5/~tonka/upload.php это ты обращаешься к HTTP серверу.
А когда ты обращаешься к ftp://10.0.2.5/ это ты обращаешься к FTP серверу. Вот не факт что он у тебя там стоит. А фтп клиент - их много я лично пользуюсь встроенным в Far, или Total Commander |
а я вот ссылкой с рабочего стола, как бы это смешно не звучало но можно и фаром...
слушай, а где прописывать адресс к папке куда надо скидывать картинки?а ? и как правильно адресс прописать? на 10.0.2.5 |
Ясно - не заметил - так нельзя
$ftp_server= 'ftp://desigto@10.0.2.5/sit/news_images/'; $conn_id = ftp_connect($ftp_server); Ибо RFTM Цитата: "host shouldn't have any trailing slashes and shouldn't be prefixed with ftp://." Надо $ftp_server= '10.0.2.5' $conn_id = ftp_connect($ftp_server); ftp_login($conn_id, $ftp_user_name, $ftp_user_pass,'w'); ftp_chdir ($conn_id, 'каталог'); |
$remote_file-это ведь имя файла не не директория куда файл ложить
ftp_chdir ($conn_id, 'каталог'); каталог = 'ftp://tonka@10.0.2.5/sit/news_images/'; да? В конечном результате у меня выходит <form enctype="multipart/form-data" action="upload.php" method="POST"> <input type="hidden" name="f" value="1"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <?php if (isset ($_POST['f'])) { $file=$_FILES['userfile']; $remote_file=$_FILES['userfile']; $ftp_server= '10.0.2.5 '; $conn_id = ftp_connect($ftp_server); ftp_login($conn_id, $ftp_user_name, $ftp_user_pass,'w'); ftp_chdir ($conn_id, '/sit/news_images/'); $ftp_user_name='desigto'; $ftp_user_pass='desigto'; $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass,'w'); if (ftp_fput($conn_id, $remote_file, $file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; } ftp_close($conn_id); } ?> это верно? Кстати этот скрипт тоже возращает Fatal error: Call to undefined function: ftp_connect() in /usr/home/tonka/ftp/sit/upload.php on line 12 |
Ну во-первых чтобы использовать ФТП-функции PHP должен быть собран с опцией --enable-ftp (У Вас так?)
А во-вторых, если "open-оболочки" включены то для записи (но не удаления) файла на FTP можно использовать стандартную функцию copy! |
А как проверить включена ли эта функция?--enable-ftp и скрипт какой писать надо?
дело в том что я когда то пробовала с копией работать...но мне сказали что лучше аплоудом! |
1. зачем 2 раза логин?
2. вызов логин неверен ftp_login(int ftp_stream, string username, string password); 3. вызов ftp_fput неверен PHP код:
|
Я как раз этот код и использую, но только вот какая переменная обозначает путь к дирректории где images мои лежат?
|
Цитата:
Цитата:
|
<? phpinfo()?> написала выпал большой список...
А Hubbitus когда нибудь копировал картинку на фтп таким скриптом?о скрипте копи идет речь |
Цитата:
Цитата:
И вообще зачем требуется Вам именно на фтп класть картинку? Обычно это на сервере и храниться... |
<?php
$uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir. $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { print "File is valid, and was successfully uploaded. "; print "Here's some more debugging info:\n"; print_r($_FILES); } else { print "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); } ?> Ок. Это близко? Но фтп...это все мои суждения об фтп разрушает... а можешь скинуть исходник?Я думаю я разберусь дальше????ПЛИЗ А ЛОГИН А ПАРОЛЬ? НЕ ПОДСКАЖЕшь куда их девать?это что любой может копировать? файлы.. |
Цитата:
$uploaddir='ftp://user:рassword@ftp.server.com/uploads/'; (Ну соответственно реальный пользователь, пароль, ФТП, и путь...;) ) Цитата:
|
ой мои суждения- это наверное не на этом форуме нужно обсуждать, честно думала меня здесь пошлют с моими аплоадами...я уже 5 способов новых надыбала И ВСЕ НЕ КАК У ЛЮДЕЙ БЛИН( ну вро де и нашла а подставить не могу вроде и подходит и все равно не то....не очень моя дружба с пхп удалась:) да ну не об этом сейчас попробую если получится:))) я взорвусь от счастья
Добавлено через 9 минут: Warning: move_uploaded_file(ftp://...@10.0.2.5/sit/news_images/1079549297_46941.gif) [function.move-uploaded-file]: failed to create stream: FTP server reports 530 Login incorrect. in /usr/home/tonka/ftp/sit/upload.php on line 12 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/var/tmp/phpYIPsDH' to 'ftp://tonka@10.0.2.5/sit/news_images/1079549297_46941.gif' in /usr/home/tonka/ftp/sit/upload.php on line 12 Possible file upload attack! Here's some debugging info: Array ( [userfile] => Array ( [name] => 1079549297_46941.gif [type] => image/gif [tmp_name] => /var/tmp/phpYIPsDH [error] => 0 [size] => 2389 ) ) Немного не ожидала такой реакции...в чем проблема? Добавлено через 1 минуту: Hubbitus <form enctype="multipart/form-data" action="upload.php" method="POST"> <input type="hidden" name="f" value="1"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <?php if (isset ($_POST['f'])) { $uploaddir = 'ftp://tonka@10.0.2.5/sit/news_images/'; $uploadfile = $uploaddir. $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { print "File is valid, and was successfully uploaded. "; print "Here's some more debugging info:\n"; print_r($_FILES); } else { print "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); } } ?> <a href='ftp://desigto@10.0.2.5/sit/news_images/'> link</a> Где ошибка? подскажи может путь $uploaddir = 'ftp://tonka@10.0.2.5/sit/news_images/'; не так? |
Там же написано в чем проблема (ailed to create stream: FTP server reports 530 Login incorrect.) - не верный логин и/или пароль.
Я вообще не вижу чтобы был указан пароль! А ссылка указанная внизу - не работает как и следовало ожидать! (кстати HTML выключен) |
нудопустим пароль и логин desigto desigto - что дальше писать как правильно?
$uploaddir = 'ftp://tonka@10.0.2.5/sit/news_images/'; $uploaddir = 'ftp://desigto:desigto/sit/news_images/'; -так? так не работает как по другому? а то что изменение ссылки той это я сразу поняла |
$uploaddir='ftp://desigto:desigto@10.0.2.5/sit/news_images/'; - так должно быть по идее.
А при чем здесь tonka, точно логин и пароль desigto? |
нет конечно , я же не могу все пароли и логины здесь обсуждать, это наверное не безопасно.Слушай, а мне в другом разделе сказали что надо порт написать:)Что по этому поводу скажешь?:)
Добавлено через 10 минут: УРА ВСЕ РАБОТАЕТ!:)СПАСИБО!!!!!!!!!!!!!!!!!!!!!НЕОПИСУЕМАЯ РАДОСТЬ ПОГЛОЩАЕТ МЕНЯ СЧАСТЬЕМ:) И РАБОТАЮЩЕЙ ПРОГРАММОЙ:)С_П_А_С_И_Б_О |
В принципе порт если он стандартный (21) прописывать не обязательно, но и не помешает...
Заработало как я и сказал? Если нет, то что было? Да наздоровье... |
ПРИВЕТ ДОРОГОЙ Hubbitus!
Ты даже себе представитьне можешь на сколько я тебе благодарна, билась над траблом фиг знает сколько времени- 2мес. точно ...может чуть меньше...ну конечно не все время..но постоянно возвращалась к этой проблеме...страшное слово АППЛОАД и я его одолела благодаря тебе:) я тебе даже голос добавила:) Просто даже в сетях мне не дали админы дельного совета:)А ты .... Ух и всего то:) Кстати я вчера я почти дошла до этого...сама....дуже вдячна! $uploaddir='ftp://desigto:desigto@10.0.2.5/sit/news_images/'; |
Ну получилось что на комплимент напросился :p ... я вообще-то интереса ради спросил...
Еще раз поздравляю! |
Hubbitus слушай, походу просвяти что такое звездочки- рейтинг....я тут слегка не понимаю:)
|
Вообще-то это уже флейм пошел - почитай правила форума, там же кстати и про звездочки написано..., например сдесь http://www.imho.ws/announcement.php?s=&forumid=29
|
| Часовой пояс GMT +4, время: 12:48. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.