HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра

Скрипт Upload'a файлов
  #1  
Старый 13.12.2007, 19:16
roflash
Новичок
Регистрация: 13.12.2007
Сообщений: 4
С нами: 9690673

Репутация: 5
Cool Скрипт Upload'a файлов

Помогите написать скрипт который бы мог загружать файлы на сервер.
 

  #2  
Старый 13.12.2007, 19:20
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
С нами: 10447337

Репутация: 807
По умолчанию

ввозьми какой-нибудь шелл и посмотри как там реализованно, например с99.
 

  #3  
Старый 13.12.2007, 19:21
n3m0
Участник форума
Регистрация: 11.05.2007
Сообщений: 149
С нами: 10001186

Репутация: 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
 

  #4  
Старый 13.12.2007, 21:23
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

перед юзанием таких скриптов было бы не плохо поредактировать php.ini
вот неплохая статья: http://www.phpclub.ru/detail/article/upload
 

  #5  
Старый 13.12.2007, 21:24
roflash
Новичок
Регистрация: 13.12.2007
Сообщений: 4
С нами: 9690673

Репутация: 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..
 

  #6  
Старый 13.12.2007, 21:32
roflash
Новичок
Регистрация: 13.12.2007
Сообщений: 4
С нами: 9690673

Репутация: 5
По умолчанию

Всё понял , спс.
 

  #7  
Старый 14.12.2007, 00:18
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 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] / 10242));
         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". По идее ругаться ни на что не должен. Форма поддерживает загрузку нескольких файлов, разумеется, количество файлов нужно выбирать исходя из широты своего канала...
 

  #8  
Старый 14.12.2007, 00:23
Ali_MiX
Постоянный
Регистрация: 08.10.2006
Сообщений: 445
С нами: 10310238

Репутация: 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($handle8192);
      
$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>
 

  #9  
Старый 14.12.2007, 00:25
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами: 10261766

Репутация: 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!";
}
?>
 

  #10  
Старый 14.12.2007, 00:38
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
С нами: 10516826

Репутация: 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
 
Закрытая тема



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт для парсинга файлов каталогов Scipio Избранное 22 23.08.2009 22:31
Продам качественный Спам/флуд скрипт Zhenek Разное - Покупка, продажа, обмен 7 12.12.2007 12:15
Уязвимость в IE 6.0 при обработке файлов jpg, gif, txt. SpiderX Статьи 10 24.04.2005 00:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.