|
|
|
| Вот у меня есть самый простой скрипт загрузки файла на сервер:
<?php
if(copy($_FILES["filename"]["tmp_name"],
"images/".$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен");
}
else
{
echo("Ошибка загрузки файла");
}
?>
|
(данные берутся из формы)
Так вот сталкнулся с проблемой, что если загружать файл одноо имени то преддущий файл удаляеться а новый закачевается.
Вот непомойму как сделать чтобы если файл с таким именим уже был выдавлось ошибка,
толи сделать через FTP, в форме добавить пункт имя для файла, и кнопку проверить.
Подскажите как(ну конечно же лучше покажите!) БУДУ ОЧЕНЬ БЛАГОДАРЕН | |
|
|
|
|
|
|
|
для: One art galery
(18.12.2006 в 17:10)
| |
<?
if(file_exists("images/".$_FILES["filename"]["name"])) echo "А такой файл уже есть!";
|
| |
|
|
|
|
|
|
|
для: One art galery
(18.12.2006 в 17:10)
| | Можно сделать проверку, при помощи file_exists()
http://php.net/file_exists
Или же переименовать файлы при загрузке, генерируя случайный фрагмент символов или цифр - rename()
http://php.net/manual/ru/function.rename.php | |
|
|
|
|
|
|
|
для: Night_charter
(18.12.2006 в 17:17)
| | Вот, кому интересна, я немого поизощрявшись сделал скрипт с очень малой вероятностью того что имена совпадут!
<?php
$dt = date("20ymd");
srand((float) microtime()*1000000);
$lb = rand();
$gbl = $_FILES["filename"]["name"];
if(copy($_FILES["filename"]["tmp_name"],
"upload/temp/".$_FILES["filename"]["name"]))
{
echo("Файл на <b>1</b> стадии успешно загружен");
}
else
{
echo("Ошибка загрузки файла");
}
$nn = $_FILES["filename"]["type"];
$str = $nn;
$exp = explode("/", $str);
echo "<br><span class=\"style1\">";
if(rename("upload/temp/$gbl", "images/$dt$lb.$exp[1]"))
{
echo("Файл на <b>2</b> стадии успешно загружен"); }
// далее выводится информация о файле
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
else
{ echo "Файл на <b>2</b> стадии <b>не загружен</b>"; }
echo "<br></span><br>";
?>
|
PS у формы добавления файла вот такое имя: name="filename" | |
|
|
|
|
|
|
|
для: One art galery
(19.12.2006 в 21:07)
| | чем dt не $dt = date("YmdHis"); ? | |
|
|
|
|
|
|
|
для: Trianon
(19.12.2006 в 21:24)
| | хыхы...
конечно было как у вас...
но есть различия в написании буквы "Y"(у меня маленькая, а у вас большая)
маленькая выводит только "06" а большая "2006" . поэтому я и добавил "20"(хотя тогда у моего скрипта был бы срок годности до 2099г =)
------------------
сейчас исправлю!!! =) | |
|
|
|