korsar328
Новичок
Дата регистрации:
07.01.2015 16:10:05
Сообщений: 5
Долгое время пытаюсь написать функцию для того чтобы сохранялось изображение полученное с формы.
Перепробовал всё что мог, перерыл интернет, ничего не помогает. Подскажите пожалуйста работающий скрипт.
Мне нужно:
1. Получить изображение с формы.
2. Проверить является ли файл изображением(могу сделать сам).
3. В случае если да, то скопировать его в определённую директорию.
Заранее спасибо!
gemiks
Мастер
Дата регистрации:
17.03.2013 18:03:11
Сообщений: 177
<?php
//Класс по загрузке файлов
class File {
public static function uploadIMG($file, $max_size, $dir, $root = false, $source_name = false) {
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm"
foreach ($blacklist as $item)
if (preg_match("/$item\$/i", $file["name"])) return "ERROR_IMAGE_TYPE";
$type = $file["type"];
$size = $file["size"];
if (($type != "image/jpg" && ($type != "image/jpeg" && ($type != "image/gif" && ($type != "image/png") return "ERROR_IMAGE_TYPE";
if ($size > $max_size) return "ERROR_IMAGE_SIZE";
if ($source_name) $avatar_name = $file["name"];
else $avatar_name = self::getName().".".substr($type, strlen("image/");
$upload_file = $dir.$avatar_name;
if (!$root) $upload_file = $_SERVER["DOCUMENT_ROOT"].$upload_file;
if (!move_uploaded_file($file["tmp_name"], $upload_file)) return "UNKNOWN_ERROR";
return $avatar_name;
}
public static function getName() {
return uniqid();
}
public static function delete($file, $root = false) {
if (!$root) $file = $_SERVER["DOCUMENT_ROOT"].$file;
if (file_exists($file)) unlink($file);
}
public static function isExists($file, $root = false) {
if (!$root) $file = $_SERVER["DOCUMENT_ROOT"].$file;
return file_exists($file);
}
}
?>