X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Загрузка и переименовывание файлов
Licoric
Licoric
Topic Starter сообщение 17.4.2010, 0:50; Ответить: Licoric
Сообщение #1


Скрипт загрузки, в принципе, есть:
[php]<?php
include ("../header.php");
include ("menu.php");
if (empty($_GET['done']))
{
?>
<form enctype='multipart/form-data' action='?done=1' method=post>
<input type=file name="userfile" size=27>
<input type=submit value="Сохранить">
</form>
<?php
}
elseif (!empty($_GET['done']))
{
$uploaddir = "../uploads/";
$temp=$_FILES['userfile']['name'];
$uploadfile = $uploaddir . $temp;
// $d = md5(date ('d-m-Y H:m:s'));
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
echo "ссылка на файл: <b>$uploadfile</b>";
}
include ("../footer.php");
?>[/php]Что-то не могу нагуглить, как переименовать файл после загрузки в $d (дабы избежать дальнейших совпадений в именах файла на фтп). Как вариант - дата в мд5 (и то не факт, что в одну секунду не будет 2-х загрузок. но не в этом, пока, дело). В общем как переименовать файл?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.4.2010, 3:16; Ответить: Licoric
Сообщение #2


ps надо менять: $temp=$_FILES['userfile']['name'];
Вопрос следующий. Как ограничить расширения файлов только картинками? jpg, bmp и т.д.?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 17.4.2010, 9:08; Ответить: alexdrob
Сообщение #3


[PHP]$types = array("jpg","gif","png");
$name=explode('.',$_FILES['upl']['name']);
$ex=strtolower($name[count($name)-1]);
if(!in_array($ex,$types)){
echo "Не верный тип файла";
exit;
}[/PHP]
как то так
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 17.4.2010, 12:11; Ответить: ZhukV
Сообщение #4


Licoric, как я понял те нужно загружать изображение на сервер по своим правилам, типа перейменовать, обрезать, зжать и т.д.
Для такого функционала я использую http://www.verot.net , скрипт которого очень легк в использование и очень функционален!!!
Посмотри, не пожалееш.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
InviS
InviS
сообщение 17.4.2010, 16:05; Ответить: InviS
Сообщение #5


(ZhukV @ 17.4.2010, 15:11) *
Licoric, как я понял те нужно загружать изображение на сервер по своим правилам, типа перейменовать, обрезать, зжать и т.д.
Для такого функционала я использую http://www.verot.net , скрипт которого очень легк в использование и очень функционален!!!
Посмотри, не пожалееш.


А вот, что мы видим на том сайте:
If your project is not GPL, commercial licenses are available.

Почитал за GPL - ничего не понял, что означает данная строчка? если проект распространяется по GPL лицензии, то его можно копировать/модифицировать и использовать в том числе в коммерческих проектах!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.4.2010, 17:37; Ответить: Licoric
Сообщение #6


Решил сделать загрузчик фоток на сайт.
Начал с того, что сделал загрузчик как таковой (по аналогии готовых скриптов). Далее переименовываю фоту в уникальное имя.
Потом получаю из нее ссылку на оригинал и ссылку на мелкую превьюху.
Как бы хотел сделать так, что б нельзя было загрузить txt, php и прочее стороннее файло.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 17.4.2010, 19:51; Ответить: r3ntg3n
Сообщение #7


так заюзай код alexdrob, по-моему как раз самое оно
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 17.4.2010, 20:48; Ответить: Exterior
Сообщение #8


(Licoric @ 17.4.2010, 20:37) *
Как бы хотел сделать так, что б нельзя было загрузить txt, php и прочее стороннее файло.


в какой-то мере защищенности, очень облегчат жизнь след. функции:
getimagesize().
Вот ее хар-ки:
в качестве аргумента функция принимает имя файла, возвращает массив из 4 элементов. Элемент с индексом 0 содержит ширину изображения в пикселях. Элемент 1 - высоту. Элемент 2 содержит целое число, определяющее тип файла (вот здесь можно подлавливать все что не изображения). Элемент 3 - строку формата width="xxx" height="yyy", которая может быть вставлена в HTML-тэг <img>.

или

exif_imagetype()
Вот ее хар-ки:
функция читает несколько первых байт файла и определяет формат изображения. Если формат определен, то возвращается константа соответствующая определенному типу файла, если формат не определен, то возвращается false. Работает быстрее getimagesize().

Ну и проверку расширения загружаемого файла никто не отменял - эта ф-ция должна идти самой первой.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.4.2010, 21:49; Ответить: Licoric
Сообщение #9


Что-то не совсем понимаю, что должно происходить в итоге:
[php]
$size = getimagesize ("$uploadfile");
echo "картинка: <img src=\"$uploadfile\" {$size[2]}> стоп<br>
ссылка $uploadfile";[/php]$uploadfile - ссылка на картинку.
Код просто выводит мне картинку и все. Пример брал с php.su - http://www.php.su/functions/?getimagesize

Если убрать картинку, то...

[PHP]$size = getimagesize ("$uploadfile");
echo "картинка: {$size[2]} стоп<br>
ссылка $uploadfile";[/PHP]
картинка: 2 стоп
ссылка ../uploads/05b6363a376cae2632862565dc31fc55.jpg
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 17.4.2010, 22:37; Ответить: Exterior
Сообщение #10


(Licoric @ 18.4.2010, 00:49) *
Что-то не совсем понимаю




[PHP]$uploadfile = "http://www.html.by/images/banners/html.gif";
$size = getimagesize("$uploadfile");
echo $size[0]; // 88
echo $size[1]; // 31
echo $size[2]; // 1 // IMAGETYPE_GIF
echo $size[3]; // height="31" width="88"[/PHP]

кстати, в твоей теме как пережать картинку в аттаче есть наглядный пример использования getimagesize

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д.
0 BuxarNET 1194 19.7.2023, 5:58
автор: BuxarNET
Открытая тема (нет новых ответов) FinFile - новые возможности для монетизации Ваших файлов!
3 FileXmaster 2051 25.7.2020, 16:10
автор: -Condis-
Открытая тема (нет новых ответов) Добавление файлов
0 PHP_Programist 2552 25.4.2018, 12:25
автор: PHP_Programist
Открытая тема (нет новых ответов) Добавление файлов на сайт
1 Dess33 2784 8.4.2018, 2:32
автор: rasul
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыЗагрузка фотографий на сайте.
8 Napoleon-007 1717 5.3.2018, 10:51
автор: Evgeniy3200


 



RSS Текстовая версия Сейчас: 28.3.2024, 16:28
Дизайн