• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

загрузить на сервер, а потом скачать

  • Автор темы san4es
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

san4es

нужно сделать так чтоб можно было через форму загрузить прайс на сервер, и чтоб все могли его скачать. пробовал ftp_connect - не работает.
Код:
<?php
// установка соединения
$conn_id = ftp_connect($ftp_server); 

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// проверка соединения
if ((!$conn_id) || (!$login_result)) { 
echo "Не удалось установить соединение с FTP сервером!";
echo "Попытка подключения к серверу $ftp_server под именем $ftp_user_name!";
exit; 
} else {
echo "Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
}

// закачивание файла
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 

// проверка результата
if (!$upload) { 
echo "Не удалось закачать файл!";
} else {
echo "Файл $source_file закачен на $ftp_server под именем $destination_file";
}

// закрытие соединения
ftp_close($conn_id); 
?>

пробовал так - тож неработает.

Код:
<?php
$uploaddir = '/price/';
$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>";

?>
 
K

korvin0

san4es, нужно юзать 2ой вариант.
ты бы хоть показал html-код своей формы, и сказал бы какие ошибки выводятся. А то знаешь ли все экстрасенсы в отпуске.
 
S

san4es

вот ошибка
Warning: move_uploaded_file(/price/dohod.xls): failed to open stream: No such file or directory in z:\home\localhost\www\spb.ru\upload.php on line 202

Warning: move_uploaded_file(): Unable to move '/tmp\php1AB.tmp' to '/price/dohod.xls' in z:\home\localhost\www\spb.ru\upload.php on line 202

вот код формы
Код:
<form enctype="multipart/form-data" action="upload.php" method="post">
   отправить этот файл :. <input name="userfile" type="file" class="tx"><br>
   <input type="submit" value="отправить" class="tx">
</form>
 
K

korvin0

"No such file or directory" знаешь как переводится? Всё правильно, скрипт не может найти директорию, в которую он должен поместить закачиваемый файл. Значит, надо указать существующую директорию, например так:
$uploaddir = './price/';
Т.е. рядом с файлом скрипта должна быть создана папка price - и будет тебе счастье.
 
S

san4es

хорошо, точку я поставил перед price.
теперь проблема такая. у меня на домашнем компе всё работает, а на сайте в инете нет.
Warning: move_uploaded_file(./price/ZP1.xls) [function.move-uploaded-file]: failed to open stream: Permission denied in /.2/WWW/xxx/upload.php on line 202



Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/.2/tmp/php76zmVi' to './price/ZP1.xls' in /.2/WWW/xxx/upload.php on line 202

разобрался
 
K

korvin0

Главное в работе php-программиста - уметь читать ошибки
 
A

aka_Kail

Permission denied - доступ запрещён.
Измени права файла функция chmod()
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!