[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка картинок
sochinec
Привет.
Нужен скрипт загрузки картинОК на сервак, примерно 3 шт, для разных ракурсов домов.
На просторах рунета нашел такой скрипт
Скрытый текст
<html>
<head>
  <title>Загрузка файла</title>
</head>
<body>
<p><strong>Выбирите файл для загрузки:</strong><br />
<form enctype="multipart/form-data" method="post">
<input type="file" name="userfile" />
<br />
<input type="submit" value="Загрузить" name="button">
</form>
<?php
//Выполняем код только при нажатии на кнопку
if($_POST['button']== true){
//Для начала проверим не пытаются ли нам загрузить файл с расширением .php и т.д
$path = array(".php",".php4",".php3",".phtml",".pl");
foreach ($path as $item){
//Проверяем регулярным выражением регистр
  if(preg_match("/$item\$/i", $_FILES['userfile']['name'])) {
   echo "Разрешено загружать, только картинки<br />";
   echo "<a href='index.php'>&lt;&lt;&lt; Назад</a>";
   exit();
  }
}
//Проверим на ошибки, если они есть прекращаем скрипт и создаем отчет
if($_FILES['userfile']['error'] != 0){
//Создаем файл и записываем  него код ошибки, а так же удаляем временный файл
$error = fopen("error.dat","wb");
if(fwrite($error,$_FILES['userfile']['error']) == false){
echo "Ошибка записи в файл!!!";
exit();
}else
{
echo "<b>error.dat</b> - был успешно создан! &nbsp;&nbsp;<a href='error/error.inc'>Смотреть код ошибки</a>";
//Удаляем временный файл
unlink($_FILES['userfile']['tmp_name']);
//выходим
exit();
}
fclose($error);
}
//Определяем директорию, куда будем загружать изображения
$dir = 'upload/';
$file = $dir.basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $file)) {
    echo "Файл успешно загружен.";
} else {
    echo "Произошла ошибка";
    exit;
}
}
?>
</body>


</html>

Помогите доделать его.
1. Переименование картинки после загрузки.
2. и русские буквы тоже принимала и переименовывало в транс лит.
3.Чтобы только картинки можно было загружать.



Спустя 4 минуты, 54 секунды (12.03.2011 - 14:52) vagrand написал(а):
Какова цена вопроса?

Спустя 6 минут, 29 секунд (12.03.2011 - 14:58) sochinec написал(а):
+ В карму

Спустя 43 минуты, 49 секунд (12.03.2011 - 15:42) m4a1fox написал(а):
sochinec
А что не получается с этим у тебя?

Спустя 2 часа, 39 минут, 2 секунды (12.03.2011 - 18:21) sochinec написал(а):
Нашел другой скрипт легче для понимания.

<?

$uploaddir = "upload/";

$temp=$_FILES['userfile']['name'];

$uploadfile = $uploaddir . $temp;

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);


?>


Вот мне не понятно как изменить имя загружаемого файла, так как все фото будут грузится в одну папку и если попадется одинаковое имя файла у двух юзеров, то будет нехорошо.
Как поменять имя файла на чтото рамдумное типа adf7s67sdfs67dfg.jpg

Спустя 24 минуты, 29 секунд (12.03.2011 - 18:46) neadekvat написал(а):
Узнайте расширение файла:
$ext = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);


Генерируйте случайно имя, но при этом проверяйте, не существует ли такого файла:

// перечень символов, из которых может состоять имя
$abc = 'abcdefghijklmn...z';
do
$new_name = substr(str_shuffle($abc), 0, 12) .'.'. $ext;
// если файл существует - имя сгенерируется еще раз.
while (file_exists($new_name));
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.