[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переименовывание картинки при загрузке
Страницы: 1, 2
Гость_CooLer
Вот код upload.php

<?php

$allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // Здесь мы перечисляем допустимые типы файлов

$max_filesize = 524288; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб).

$upload_path = './files/'; // Место, куда будут загружаться файлы (в данном случае это папка 'files').

$filename = $_FILES['userfile']['name']; // В переменную $filename заносим точное имя файла (включая расширение).

$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // В переменную $ext заносим расширение загруженного файла.

// Сверяем полученное расширение со списком допутимых расширений, которые мы определили в самом начале. Если расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем соответствующее сообщение.

if(!in_array($ext,$allowed_filetypes))
die('Данный тип файла не поддерживается.');

// Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем выполнение программы и выдаем сообщение.

if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
die('Фаил слишком большой.');

// Проверяем, доступна ли на запись папка, определенная нами под загрузку файлов (папка files). Если вдруг недоступна, то выдаем сообщение, что на папку нужно поставить права доступа 777.

if(!is_writable($upload_path))
die('Невозможно загрузить фаил в папку. Установите права доступа - 777.');

// Загружаем фаил в указанную папку.
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))
{
echo '<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<a name="results"></a><div style="height:50px;"></div>
<div id="download_box">
<h3>Photo</h3>
<div style="height:5px;"></div>
<div id="img_box">
<a href='. $upload_path . $filename .' target="_blank"><img src='. $upload_path . $filename .' alt='.$max_filesize.' title='.$max_filesize.' width="160" /></a>
</div>
<div style="clear:both"></div>
<div class="text">
Link
</div>
<div class="input_box">
<input class="large_input" value="http://accounts.cfgo.ru/files/'. $filename .'" type="text" size="85" />
</div>';
}
else
{
echo 'При загрузке возникли ошибки. Попробуйте ещё раз.';
}
?>

нужно сделать так чтобы при загрузки файла на сайт делалось рандомными именами Скажите как это сделать пожалуйста!
Гость_CooLer
Скажите что делать пожалуйста!
denis79513
Вместо этого:
move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename

Это:
move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . 'img_'.str_shuffle(md5($filename)).$ext)
Гость_CooLer
Нет не получается почемуто
Guest
вот что при загрузки пишит!
user posted image
Guest
Что делать подскажи wink.gif
denis79513
Вот, все прекрасно работает:
<?php
$allowed_filetypes = array(
'.jpg',
'.gif',
'.bmp',
'.png'
);
// Здесь мы перечисляем допустимые типы файлов
$max_filesize = 524288;
// Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб).
$upload_path = './files/';
// Место, куда будут загружаться файлы (в данном случае это папка 'files').
$filename = $_FILES['userfile']['name'];
// В переменную $filename заносим точное имя файла (включая расширение).
$ext = substr($filename, strpos($filename, '.'), strlen($filename) - 1);
// В переменную $ext заносим расширение загруженного файла.
// Сверяем полученное расширение со списком допутимых расширений, которые мы определили в самом начале. Если

расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем
соответствующее сообщение.

if(!in_array($ext, $allowed_filetypes))
{
die('Данный тип файла не поддерживается.');
}
// Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем
выполнение программы и выдаем сообщение.

if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
{
die('Фаил слишком большой.');
}
// Проверяем, доступна ли на запись папка, определенная нами под загрузку файлов (папка files). Если вдруг
недоступна, то выдаем сообщение, что на папку нужно поставить права доступа 777.

if(!is_writable($upload_path))
{
die('Невозможно загрузить фаил в папку. Установите права доступа - 777.');
}
//генерируем новое название файла
$filename = 'img_'. substr(str_shuffle(md5($filename)), 0, 10) . rand(0, 100) . $ext;
// Загружаем фаил в указанную папку.

if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_path . $filename))
{
echo '
<a name="results"></a><div style="height:50px;"></div>
<div id="download_box">
<h3>Photo</h3>
<div style="height:5px;"></div>
<div id="img_box">
<a href='
. $upload_path . $filename .' target="_blank"><img src='. $upload_path . $filename .' alt='. $max_filesize .' title='. $max_filesize .' width="160" /></a>
</div>
<div style="clear:both"></div>
<div class="text">
Link
</div>
<div class="input_box">
<input class="large_input" value="http://accounts.cfgo.ru/files/'
. $filename .'" type="text" size="85" />
</div>'
;
}
else
{
echo 'При загрузке возникли ошибки. Попробуйте ещё раз.';
}
?>
Быстрый ответ:

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