Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

загрзка файлов с сайта на сервер PHP

72K
28 декабря 2011 года
klynxe
18 / / 28.12.2011
Помогите сделать загрузку файлов с сайта на сервер, который находиться на онлайн хостинге (http://guru-host.ru поддерживает php, базу данных, ftp). Я нашел исходники типа
 
Код:
<?php
$uploaddir = './uploads/';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {echo "success";}
 else {echo "error";}
?>

Но проблема в том, что доступ к этому хостингу осуществляться по паролю, следовательно я не туда загружать файлы предварительно не войдя под своим логином и паролем. Как можно подключиться к серверу, по аналогии подключения например к БД mysql
$db = mysql_connect ("localhost","log","pass");
mysql_select_db ("main",$db);
Или как еще можно сделать загрузку файлов на своем сайте и на какой файловый хостинг, что бы потом можно было использовать эти файлы, например для загрузки пользователем сайта аватарок в его профиль?
14
28 декабря 2011 года
Phodopus
3.3K / / 19.06.2008
что за тип авторизации на хостинге?
72K
29 декабря 2011 года
klynxe
18 / / 28.12.2011
Цитата: Phodopus
что за тип авторизации на хостинге?



Возможно немного не понял вопрос, но:
регестрируюсь я на сайте: http://guru-host.ru/billing/
Там же заказываю бесплатный хостинг, который поддерживает php, 1 БД, есть доступ по Ftp.
Доступ на панель управления хостингом: http://176.9.32.230:2222/
FTP-сервер: 176.9.32.230
( порт FTP-сервера: 21
режим соединения c FTP-сервером: пассивный // Passive Mode)
БД phpMyAdmin (доступно при наличии созданных БД): http://176.9.32.230/phpmyadmin/
Хоть разные адреса, но это все с отного хостинга и все объеденено.
Доступ к FTP, управлению хостингом, управлению БД осуществляется по логину и паролю, который выдается при заказе хостинга.

271
30 декабря 2011 года
MrXaK
721 / / 31.12.2002
Цитата:

Помогите сделать загрузку файлов с сайта на сервер,


поясните пожалуйста фразу..

Цитата:

Но проблема в том, что доступ к этому хостингу осуществляться по паролю, следовательно я не туда загружать файлы предварительно не войдя под своим логином и паролем. Как можно подключиться к серверу, по аналогии подключения например к БД mysql


вот эта фраза к коду, который вы привели, отношения не имеет. А код имеет отношение к загрузке файла через <input type=file> страницы и их получение скриптом на сервере.. на сайте пхп http://php.net/manual/en/features.file-upload.post-method.php это показано
в этом случае пароль вам не нужен, всё это дело уходит POST-запросом, в скрипте файл виден через FILES, следить надо за правами на папку, в которую будет загружаться/копироваться..

72K
30 декабря 2011 года
klynxe
18 / / 28.12.2011
У меня в таком коде:
Код:
<?php
session_start();
header("Content-Type: text/html;charset=UTF-8");
?>
<?php
$uploaddir = '/';
$uploadfile = $uploaddir.basename($_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 "Possible file upload attack!  Дополнительная отладочная информация:\n";
    print_r($_FILES);
}
print "</pre>";
?>

Выдает ошибки:
Warning: move_uploaded_file(/3.php) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/u20996/domains/k-lynx-e.u-gu.ru/public_html/zag.php on line 13



Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php8Vy9RX' to '/3.php' in /home/u20996/domains/k-lynx-e.u-gu.ru/public_html/zag.php on line 13

Possible file upload attack! Here's some debugging info:
Possible file upload attack! Дополнительная отладочная информация:
Array
(
[userfile] => Array
(
[name] => 3.php
[type] => application/octet-stream
[tmp_name] => /tmp/php8Vy9RX
[error] => 0
[size] => 812
)

)

И одна из них (первая) на действие move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)
То есть как я понимаю нету прав сохранить данный файл в папке. Мне надо как-нибудь сделать, что бы данное действие происходило под логином и паролем, что бы были права сохранять файл.
75K
30 декабря 2011 года
xakkap
4 / / 10.09.2011
Ваш пример плохой с точки зрения безопасности, так как нет проверки на тип файла, размер и т.д.
Пароль для подключения не нужен если скрипт находится на том же хостинге где вы собираетесь загружать файлы.
Если бы вы загружали файлы с хостинга на хостинг тогда вам пришлось бы использовать FTP-функции PHP

Я бы порекомендовал использовать пример из данного блога: Загрузка файла на сервер с проверками для безопасной загрузки
271
30 декабря 2011 года
MrXaK
721 / / 31.12.2002
Цитата:
То есть как я понимаю нету прав сохранить данный файл в папке. Мне надо как-нибудь сделать, что бы данное действие происходило под логином и паролем, что бы были права сохранять файл.



понимаете правильно, но от логина и пароля это не зависит.. посмотрите здесь, после чего на папку, в которую будет происходить загрузка, поставьте права 0777 (chmod 0777). Это можно сделать ФТП-клиентом, если хостер не запретил. Если запретил - просите его. Но правда в данном коде у вас всё равно ничего не выйдет, так как $uploaddir = '/'; - это корень сервера)) ни один здравомыслящий человек туда писать не будет, вы же не пишете в корень диска C: свои файлы я надеюсь? ))) в-общем, создайте папочку на аплоад (e.g. upload), на неё права, замените либо на ./upload или ~/upload, либо абсолютным /home/u20996/domains/k-lynx-e.u-gu.ru/public_html/upload/ - в вашем случае, после чего должно исправиться..

2xakkap проверка это конечно хорошо, но пока автору она не поможет)) с таким путём до папки загрузки точно))

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог