|
| |
|
|
| |
для: Panker
(25.08.2006 в 12:44)
| | | >главный вопрос!
>вот сомтрите у мня есть id это поле автоматом цифры ставтся да!
>н оесли удалиш id 3 то потмо будет 4 а 3 уже не будет! можно ли как нить сделать так что бы у меян действительно по опрялдку было?
>Толисть если идёт 1 2 3 и 4 удаляю, потмо у меня будет 1 2 3 5 ... можно ли сделать что бы потмо опять 4 появлялось и так дале!
Я бы тоже хотел об этом поподробнее услышать! | |
| |
|
|
| |
|
|
| |
для: NeO
(25.08.2006 в 17:12)
| | | сделай файл
httpd.conf
и туда впиши те строки!
делай этот файл так же как все html php и так далее открой блокнот нажми СОХРАНИТЬ КАК и просто имя httpd.conf и всё проблем то :) | |
| |
|
|
| |
|
|
| |
для: Panker
(25.08.2006 в 17:02)
| | | на сервере мне это никто не сделает... можно это сделать с помощью htaccess?? | |
| |
|
|
| |
|
|
| |
для: NeO
(25.08.2006 в 16:09)
| | | Замечание: Upload бинарных файлов (картинок, архивов, программ и т.д.) стандартным методом часто приводит к тому, что файлы оказываются "битыми". Это связано с любовью Апача к всевозможным перекодировкам. Для того, чтоб он этим не занимался, допишите в файл httpd.conf следующее:
<Location />
CharsetRecodeMultipartForms Off
</Location> | |
| |
|
|
| |
|
|
| |
для: cheops
(25.08.2006 в 12:49)
| | | У меня вот так: (только есть пара недочётов, сильно не бейте за такой код)) )
форма
<form action=$url_site/index.php?m1=upload&m2=add method=POST enctype=multipart/form-data>
<table>
<tr>
<td>Закачиваемый файл:<td><input type=file size=25 name=file>
<tr>
<td>Ваше имя или ник:<td><input type=text name=name maxlength=16 size=25 value=''>
<tr>
<td>Комментарий к файлу: <td><input type=text name=comment maxlength=32 size=25 value=''>
<tr>
<td colspan=2><input type=\"checkbox\" name=\"hide\" value=\"on\" checked>Отображать в списке закачанных файлов
<tr>
<td colspan=2><b>Внимание!</b> Файл более 1mb может не закачаться!<br><input class=btn type=submit name=add value=\"Закачать файл\">
</table>
</form>
|
копирование в базу
<?
if(isset($add)):
if (empty($file)|empty($name))
{
echo "Ошибка при добавлении файла! Вы не вставили файл или не написали своё имя!";
}
else
{
// транслит имени файла
$trans = array(" "=>"_", "ж"=>"zh",
"Ж"=>"Zh", "ц"=>"ts", "Ц"=>"Ts", "ч"=>"4",
"Ч"=>"4", "ш"=>"sh", "Ш"=>"Sh", "щ"=>"sch",
"Щ"=>"Sch", "ю"=>"yu", "Ю"=>"Yu",
"я"=>"ya", "Я"=>"Ya", "Ю"=>"Yu", "Я"=>"Ya",
"Ц"=>"Ts", "Ч"=>"4", "Ш"=>"Sh", "Щ"=>"Sch",
"Ж"=>"Zh", "а"=>"a", "б"=>"b", "в"=>"v",
"г"=>"g", "д"=>"d", "е"=>"e", "ё"=>"e",
"з"=>"z", "и"=>"i", "й"=>"i", "к"=>"k",
"л"=>"l", "м"=>"m", "н"=>"n", "о"=>"o",
"п"=>"p", "р"=>"r", "с"=>"s", "т"=>"t",
"у"=>"u", "ф"=>"f", "х"=>"h", "ъ"=>"''",
"ы"=>"y", "ь"=>"'", "э"=>"e", "А"=>"A",
"Б"=>"B", "В"=>"V", "Г"=>"G", "Д"=>"D",
"Е"=>"E", "Ё"=>"E", "З"=>"Z", "И"=>"I",
"Й"=>"I", "К"=>"K", "Л"=>"L", "М"=>"M",
"Н"=>"N", "О"=>"O", "П"=>"P", "Р"=>"R",
"С"=>"S", "Т"=>"T", "У"=>"U", "Ф"=>"F",
"Х"=>"H", "Ъ"=>"'", "Ы"=>"Y", "Ь"=>"'",
"Э"=>"E",);
$file_name = strtr($file_name, $trans);
// копирование файла во временную папку
$filedir="tmp";
$d=opendir($filedir);
@mkdir($filedir,666);
Copy($file,"$filedir/".basename($file_name));
// вес файла
function display_size($file_size){
if($file_size >= 1073741824) {
$file_size = round($file_size / 1073741824 * 100) / 100 . " Gb.";
} elseif($file_size >= 1048576) {
$file_size = round($file_size / 1048576 * 100) / 100 . " Mb.";
} elseif($file_size >= 1024) {
$file_size = round($file_size / 1024 * 100) / 100 . " Kb.";
} else {
$file_size = $file_size . " b.";
}
return $file_size;
}
$filesize = display_size(filesize($file));
// чтение файла
$upload_filename = "$filedir/$file_name";
$upload_fd = fopen($upload_filename,"r");
$upload_bufer = fread($upload_fd,filesize($upload_filename));
fclose($upload_fd);
if($_POST['hide'] == "on") $showhide = "show";
else $showhide = "hide";
// добавление файла в базу
if(mysql_query('INSERT INTO upload VALUES("0",
"'.$file_name.'",
"'.$name.'", "'.
mysql_escape_string($upload_bufer).'",
"'.$filesize.'",
"'.$ip.'",
"'.$data2.'",
"'.$comment.'",
"'.$showhide.'",
"0")'))
{
//удаление файла
unlink("tmp/$file_name");
// файл закачан
echo "Файл успешно закачан!!<br><b><a href=\"$url_site/index.php?m1=upload&m2=add\">Назад</a></b><br>";
//уведомление админа о закачаном файле
mail("$mail_admin", "Upload", "Закачан файл $file_name ($filesize)! Закачал $name (ip $ip).","MIME-Version: 1.0
Content-type: text/plain; charset=Windows-1251
From: neon@net76.ru");
}
else echo "<b>Ошибка при добавлении файла! Пожалуйста обратитесь к администратору!</b>";
}
endif;
?>
|
типа вывод закачаных файлов:
<?
echo "
<b>15 последних закачанных файлов:</b>
<table border=0 width=100%>
<tr>
<td><b>Файл</b>
<td><b>Закачал</b>
<td><b>Размер</b>
<td><b>Комментарий</b>
<td><b>Время добавления</b>";
$sql=mysql_query("SELECT * FROM upload WHERE hide='show' ORDER BY id DESC LIMIT 15");
WHILE($row=mysql_fetch_array($sql)) {
echo "<tr><td><a href=\"up_dwn.php?id=", $row['id'], "\"><b>", $row['filename'], "</b></a> (скачано ", $row['count'], ")<td>", $row['nick'], "<td>", $row['filesize'], "<td>", $row['comment'], "<td>", $row['date'], "";
}
echo "</table>";
?>
|
скачивание файла из бд:
<?
include "adm/config.php";
$id=$_REQUEST['id'];
$sql=mysql_query("SELECT * FROM upload WHERE id='$id'");
WHILE($dwn=mysql_fetch_array($sql)) {
$file=$dwn['file'];
$name=$dwn['filename'];
$count=$dwn['count'];
mysql_query("UPDATE upload SET count=$count+1 WHERE id='".$id."'");
header("Content-Disposition: attachment; filename=".$name."");
header("Content-length: ".strlen(stripslashes($file)));
header("Content-type: application/octet-stream");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-Transfer-Encoding: binary");
echo "$file";
}
?>
|
бд:
CREATE TABLE `upload` (
`id` int(1) NOT NULL auto_increment,
`filename` text NOT NULL,
`nick` text NOT NULL,
`file` mediumblob NOT NULL,
`filesize` text NOT NULL,
`ip` text NOT NULL,
`date` text NOT NULL,
`comment` text NOT NULL,
`hide` text NOT NULL,
`count` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;
|
всё...
теперь неточности - файлы иногда оказываются битыми (например не открываются картинки, архивы), не докачиваются... Файлы более где-то 1 mb не закачиваются.... Не можете подсказать в чём может быть проблема? | |
| |
|
|
| |
|
|
| |
для: Panker
(25.08.2006 в 12:44)
| | | Возможно вам будет интересен пример http://www.softtime.ru/scripts/upload.php. | |
| |
|
|
| |
|
|
| |
для: Panker
(25.08.2006 в 12:44)
| | | обычно хранят файлы в базе если места на хостинге нет, мирясь с тормозами базы.
генерировать id самому и вставлять его в базу | |
| |
|
|
| |
|
|
| | Что то голову ломаю над
1 Можноли хранить файлы в мускуле, я имею ввиду полные файлы в мускуле ( при этом есть + как я считаю, при копировании реззерва ненадо будет перезаливать факйлы! )
2 как залить файл,, дайте кодик пплиЗ, он же не большой :)
3 если не хранить файлы в БД как мне поступать? только ссылку на него хранить в БД или как?
-----------
главный вопрос!
вот сомтрите у мня есть id это поле автоматом цифры ставтся да!
н оесли удалиш id 3 то потмо будет 4 а 3 уже не будет! можно ли как нить сделать так что бы у меян действительно по опрялдку было?
Толисть если идёт 1 2 3 и 4 удаляю, потмо у меня будет 1 2 3 5 ... можно ли сделать что бы потмо опять 4 появлялось и так дале!
---
УМОЛЯЮ ПО ПУНКТАМ А то потмо не разберусь чт ок чему!
спасибо!! | |
| |
|
| |
|