Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.12.2007, 19:16
|
|
Новичок
Регистрация: 13.12.2007
Сообщений: 4
Провел на форуме: 19398
Репутация:
5
|
|
Скрипт Upload'a файлов
Помогите написать скрипт который бы мог загружать файлы на сервер. 
|
|
|

13.12.2007, 19:20
|
|
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме: 2943499
Репутация:
807
|
|
ввозьми какой-нибудь шелл и посмотри как там реализованно, например с99.
|
|
|

13.12.2007, 19:21
|
|
Участник форума
Регистрация: 11.05.2007
Сообщений: 149
Провел на форуме: 6373157
Репутация:
247
|
|
Вот твоя форма (index.html):
Код HTML:
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
А вот файл обработчик upload.php:
PHP код:
<?php
$uploaddir = '/var/www/uploads/';
$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>";
?>
Взято с http://ua.php.net/manual/ru/features.file-upload.php
|
|
|

13.12.2007, 21:23
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
перед юзанием таких скриптов было бы не плохо поредактировать php.ini
вот неплохая статья: http://www.phpclub.ru/detail/article/upload
|
|
|

13.12.2007, 21:24
|
|
Новичок
Регистрация: 13.12.2007
Сообщений: 4
Провел на форуме: 19398
Репутация:
5
|
|
После того как нажимаю на кнопку пишут :
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/var/www/uploads/test.txt) is not within the allowed path(s): (/home/bukerru/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/*****/public_html/****.php on line 49
Possible file upload attack! Here's some debugging info:nPossible file upload attack! Дополнительная отладочная информация:nArray
(
[userfile] => Array
(
[name] => test.txt
[type] => text/plain
[tmp_name] => /tmp/phpqQgYr2
[error] => 0
[size] => 10
)
)
И как мне до этого файла добраться ?
Последний раз редактировалось roflash; 13.12.2007 в 21:30..
|
|
|

13.12.2007, 21:32
|
|
Новичок
Регистрация: 13.12.2007
Сообщений: 4
Провел на форуме: 19398
Репутация:
5
|
|
Всё понял , спс.
|
|
|

14.12.2007, 00:18
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Форма mass_sender.html
Код:
<html>
<head>
<title>Lee Roy's Mass Sender. Greetz to DaMaGeLaB.</title>
<style>
* {
font-family: Tahoma;
}
</style>
<script>
function create_form () {
var ref = document.getElementById('upload_url').value;
var files_num = document.getElementById('files_num').value;
if (isNaN(files_num)) {
alert('Wrong data entered!');
return;
}
if (files_num <= 0) {
alert('Value must be positive!');
return;
}
document.getElementById('sender').action = ref;
form_text = '';
for (i = 0; i < files_num; i++) {
form_text += '<input style="margin-bottom: 5px" type="file" name="file' + i + '" size="70">';
}
document.getElementById('container').innerHTML = form_text;
}
function submit_func() {
document.getElementById('sender').submit();
}
</script>
</head>
<body>
<center>
<h3>How many files do you want to upload?</h3>
<input id="files_num" type="text" size="10" value="0">
<h3>What URL do you want to use as upload script?</h3>
<input id="upload_url" type="text" size="50" value="http://www.somesite.ru/dir/upload.php">
<br><br>
<input type="button" value="Create form" onclick="create_form()">
<hr style="margin-top: 15px; margin-bottom: 15px">
<form id="sender" method="post" enctype="multipart/form-data">
<div id="container">
<small>Enter apropriate number of files you want to send, and press <b>"Create form"</b> button...</small>
</div>
</form>
<hr>
<input type="button" value="Send" onclick="submit_func()">
</center>
</body>
</html>
Скрипт загрузки файлов:
PHP код:
<?php
define("SERVER_UPLOAD_DIR", "/home/bukerru/upload");
set_time_limit(0);
if (isset($_FILES) && is_array($_FILES)) {
foreach ($_FILES as $file) {
if ($file['error'] == 0) {
$destination = sprintf("%s/%s", SERVER_UPLOAD_DIR, $file['name']);
if (@move_uploaded_file($file['tmp_name'], $destination))
printf("File '%s' with size %s Kb was successfully uploaded...<br>\n", $file['name'], round($file[size] / 1024, 2));
else
printf("Could not move uploaded file '%s' to destination...");
} else
printf("Error %s occuried. Could not upload file to server - skiping...", $file['error']);
}
} else {
printf("No files was uploaded!");
}
?>
Не забудь создать директорию "/home/bukerru/upload". По идее ругаться ни на что не должен. Форма поддерживает загрузку нескольких файлов, разумеется, количество файлов нужно выбирать исходя из широты своего канала...
|
|
|

14.12.2007, 00:23
|
|
Постоянный
Регистрация: 08.10.2006
Сообщений: 445
Провел на форуме: 1028732
Репутация:
80
|
|
вот проще
PHP код:
<?php
if(isset($HTTP_POST_VARS['in']))
{
$fn = $HTTP_POST_VARS['in'];
$handle = fopen ($fn, 'rb');
$contents = "";
if(!$handle)
echo 'Не могу открыть исходный файл';
else
{
while(!feof($handle))
{
$data = fread($handle, 8192);
$contents .= $data;
}
fclose ($handle);
// './download/' можно заменить, например, на $HTTP_GET_VARS['path']
$handle = fopen ('./download/' . basename($fn), 'wb');
if(!$handle)
echo 'Не могу создать записать файл';
else
{
fwrite($handle, $contents);
fclose($handle);
echo 'Передача завершена';
}
}
}
?>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post">
<INPUT TYPE="hidden" NAME="act" VALUE="send">
URL:<BR />
<INPUT TYPE="text" NAME="in" SIZE="64"><BR />
<INPUT TYPE="submit" VALUE=" Send ">
</FORM><BR />
</BODY></HTML>
|
|
|

14.12.2007, 00:25
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
И еще проще гг
PHP код:
<pre><center><b><h1>PHP simple files uploader</h1></b></center><br>
choose path to upload:
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="path" size="50" value="<?echo(@getcwd());?>">
<input type="submit" name="upl0ad" value="upload!">
choose file to upload:
<input type="file" name="file" size="30"></form>
<?
$tempupload = $_FILES['file']['tmp_name'];
if (file_exists($tempupload)){
$path = $_POST['path'];
$upload = $_FILES['file']['name'];
$pwdslash = $path."/".$upload;
copy($tempupload, $pwdslash);
echo "File was succesfully uploaded!";
}
?>
|
|
|

14.12.2007, 00:38
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме: 8042357
Репутация:
3742
|
|
чето вы курили ребята.. зачем столько кода =)
upload.php
PHP код:
<form enctype=multipart/form-data method=post>
<input name=xek type=file>
<input type=submit name=gogogo>
</form>
<?php
if(isset($_POST[gogogo]))
{
if(is_uploaded_file($_FILES[xek][tmp_name]))
{
@copy($_FILES[xek][tmp_name],$_FILES[xek][name]);
}};
?>
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|