[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почти готовая загрузка аватаров
Братуха
Привет всем вот скрипт есть один загрузки аватаров, я его подсебя сделал вот только одного не смог найти на форуме, мне надо удалить картинки которые были закачены раньше в другом формате. То есть пользователь взял закачал картинку в расширением gif. Вот ему чтото не понравилось и он решил загрузить картинку с раширением JPG загрузил и вот теперь на сервере храниться две картинки с одинаковыми названиями, но с разными расширениями. так как можно удалить предыдущие картинкеи которые загрузил пользователь вот код
<?php
$messages = array();
$imgDir = dirname(__file__) . "/photo/"; // каталог для хранения изображений
@mkdir($imgDir, 0777); // создаем каталог, если его еще нет
if (isset($_POST['doUpload'])) {
$data = $_FILES['userfile'];
$tmp = $data['tmp_name']; //это просто для удобства
if (@file_exists($tmp)) { //итак, если файл на месте, то
$info = @getimagesize($_FILES['userfile']['tmp_name']); //берем информацию о файле
if (preg_match('{image/(.*)}is', $info['mime'], $p)) { //убеждаемся что файл есть ни что иное как изображение
$newwidth = 400; //в данную переменную мы помещаем желаемую ширину файла
$username = 'имя пользователя'.'.'.substr($info['mime'],6);
$newname = $imgDir.$username;//имя файла оставляем прежним
//осторожно! если файл с таким именем существует, то он будет перезаписан загружаемым

if ($info[0] < $newwidth){ // если ширина загужаемого изображения
//меньше заданной в переменной, просто сохраняем файл

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $newname)) {
$messages[] = "Файл успешно загружен. ";
}
else {
$messages[] = "Ошибка загрузки файла!";
}
}

else {
// а если больше, то ресайзим
// функцию ресайза мы напишем дальше

if(resize($tmp, $newwidth, $newname)){
$messages[] = "Рисунок был успешно загружен и преобразован";
}
else {
$messages[] = "Произошла ошибка при загрузке файла";
}
}
}

else {
$messages[] = "Ошибка! Попытка загрузить файл недопустимого формата.";
}
}

else {
$messages[] = "Файл не был загружен.";
}
}

?>

<ul>
<?php
foreach ($messages as $val) {
echo "<li>" . $val ."</li>";
}
?>
</ul>
<
form name="upload" action="upload.php" method="POST" ENCTYPE="multipart/form-data">
Вбери файл для загрузки: <input type="file" name="userfile"></ br>
<
input type="submit" name="doUpload" value="Загрузить">
</
form>

<?php
function
resize($photo_src, $width, $name){
$parametr = getimagesize($photo_src);
list($width_orig, $height_orig) = getimagesize($photo_src);
$ratio_orig = $width_orig/$height_orig;
$new_width = 200;
$new_height = 200;
$newpic = imagecreatetruecolor($new_width, $new_height);
switch ( $parametr[2] ) {
case 1: $image = imagecreatefromgif($photo_src);
break;
case 2: $image = imagecreatefromjpeg($photo_src);
break;
case 3: $image = imagecreatefrompng($photo_src);
break;
}
imagecopyresampled($newpic, $image, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);
imagejpeg($newpic, $name, 100);
return true;
}
?>
Помогите очень надо сам точно не справлюсь. Зарание большое спасибо.



Спустя 1 час, 52 минуты, 3 секунды (21.09.2012 - 15:52) neadekvat написал(а):
Я бы использовал базу и там сохранял имена файлов, которые загрузил пользователь.
Соответственно, если какая-то аватарка уже была загружена - просто удаляем ее, а уже потом продолжаем заливать новый файл.

Спустя 1 час, 11 минут, 2 секунды (21.09.2012 - 17:03) walerus написал(а):
функция unlink(); про нее за одно почитай.
Быстрый ответ:

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