Доведение до ума php uploader'a

Статус
В этой теме нельзя размещать новые ответы.

Aisy

Постоялец
Регистрация
15 Ноя 2011
Сообщения
73
Реакции
2
Итак, есть такой скрипт:
PHP:
<?php
$webdir    = 'http://site1.ru/';
$uploaddir = 'dropbox/';
$filepath = $uploaddir . basename($_FILES['userfile']['name']);
 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $filepath))
    $link = "<a href=\"$webdir$filepath\">$webdir$filepath</a>";
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>DropBox</title>
<style type="text/css">
body {
  font-family: tahoma, verdana, arial, sans-serif;
  color:#343434;
}
</style>
</head>
<body>
<div style="text-align: center;">
<br/>
<br/>
<form enctype="multipart/form-data" method="post">
<br/><br/><br/>
<br/>
File: <input name="userfile" type="file" /><br/>
<br/>
<br/>
<input type="submit" value="Upload/Show" /><br/>
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'): ?>
<?php
echo "<br/>";
 
    echo $link;
    if(!empty($_POST['to_delete'])) {
        foreach($_POST['to_delete'] as $file)
            @unlink($file);
    }
    $files = glob( $uploaddir . '*', GLOB_MARK );
    if(!empty($files)):
?>
<br/>
<br/>
<hr/><center>
<table cellpadding="5" style="font-size: 0.8em;">
<tr>
<th>Filename</th>
  <th>Size (Mb)</th>
  <th>Date</th>
</tr>
<?php
        foreach($files as $filepath):
?>
  <tr>
<?php $filesize = filesize($filepath);
$filesize = $filesize / 1024;
$filesize = $filesize / 1024;
$filesize = round($filesize,3);
?>
    <td align="left"><?php echo "<a href=\"$webdir$filepath\">$webdir$filepath</a>"?></td>
    <td align="right"><?php echo $filesize?></td>
    <td align="right"><?php echo date('Y-m-d H:i:s', filemtime( $filepath ) )?></td>
  </tr>
<?php  endForeach ?>
</table>
<?php endIf ?>
<?php endIf ?>
</form>
</div>
</body>
<html>

Что не удалось сделать?

*Изменение имени файла на time()+rand(1000)
*Сейчас вся инфа сохраняется в db.db, что небезопасно, т.к. с бд не умею работать.
*Регистрация пользователей кривая (не представлена под спойлером)
*Админки нет (Пока сделал только "шаблон", взаимодействие не наладил)
 
*Изменение имени файла на time()+rand(1000)
PHP:
$filename = $_FILES['upfile']['name'];
$filetmp_name = $_FILES['upfile']['tmp_name'];
$time = time();
 
$Type_end_arr = explode(".",$filename);
$Type_end = $Type_end_arr[1];
$filesrc = md5($filetmp_name.$time).".".$Type_end;
 
move_uploaded_file($filetmp_name, "./ImgUp/".$filesrc);
у мя такой принцип
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху