Работа с фото средствами PHP

Статус
Закрыто для дальнейших ответов.

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
а вот на odnoklassnikah, там ты думаешь тоже сохраняют миниатюры для главной, для ссылки к фото?
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
а вот на odnoklassnikah, там ты думаешь тоже сохраняют миниатюры для главной, для ссылки к фото?
естественно и в контакте тоже все это хранится сразу в нескольких вариантах.
это не рационально, каждый раз нагружать процессор переработкой фотографии, ты сам представь, каждую минуту там грузят около ста тысяч страниц пользователи, на каждой странице этих фотографий может быть больше 20ти. а теперь подумай какая это нагрузка на сервер. то что ты пытаешься сделать, во первых бред, во вторых невозможно. если ты так не хочешь сохранять несколько вариантов фотки, просто добавь к тегу img параметры height и width, тогда уже браузер пользователя будет их ресайзить, но им придется загружать это фото в оригинальном размере и с оригинальным весом, перед ресайзом, что опять таки твоему сайту репутации не прибавит
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
Код:
но им придется загружать это фото в оригинальном размере и с оригинальным весом
вот по этому я вариант с ресайзом img тега сразу исключил, в общем ты меня убедил x)

а если например миниатюры не сильно отличается размером, не будет ли разумнее сохранять самую большую из них, а остальных ресайзить?

получается что при загрузке фото на сервер надо создать папку для нее и ее миниатюры, так?
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
Код:
но им придется загружать это фото в оригинальном размере и с оригинальным весом
вот по этому я вариант с ресайзом img тега сразу исключил, во общем ты меня убедил x)

а если например миниатюры не сильно отличается размером, не будет ли разумнее сохранять самую большую из них, а остальных ресайзить?
мда... ты так и не понял, что каждый раз ресайзить не вариант?)
ты сам только что сказал, что миниатюры сильно не отличаются, значит грузятся быстро и применение параметров к тегу, здесь будет не столь критично.
в контакте у авы есть два основных размера миниатюр и оригинал. больше там не используется, да и не требуется
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
нет ты меня не понял, например оригинал 640x480, у меня есть примерно миниатюр 4 где-то, например одна из них 50x50, другая 34x34, что лучше будет, сделать две миниатюры, 50 и 34, или сделать одну на 50 а когда надо будет отображать вторую то ресайзить первую до размеров второй?
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
нет ты меня не понял, например оригинал 640x480, у меня есть примерно миниатюр 4 где-то, например одна из них 50x50, другая 34x34, что лучше будет, сделать две миниатюры, 50 и 34, или сделать одну на 50 а когда надо будет отображать вторую то ресайзить первую до размеров второй?
у меня вопрос назрел, они сколько весят? 4 килобайта? и ты из-за этого тут такую бучу устроил? яб на твоем месте уже давно обе сохранил да и не парился :laugh:
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
))

к стать, на каком языке написан odnoklassniki? c#?
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
))

к стать, на каком языке написан odnoklassniki? c#?
когда это c# был веб языком? акстись, петька ;)
хоть бы мат часть почитали, прежде чем сайт создавать или соц сеть...
А вот здесь вы не правы, на шарпе разрабатываются сайты http://www.binec.ru/sculptor вот например.

А вот на чем одноклассники - действительно вопрос http://www.whats.ru/21960.html
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
А вот здесь вы не правы, на шарпе разрабатываются сайты http://www.binec.ru/sculptor вот например.

А вот на чем одноклассники - действительно вопрос http://www.whats.ru/21960.html
неужели шарп является удобным для веб разработки?

да и. если чесно. первый раз вижу, чтобы использовалось не пхп и асп нет. а что то ещё. извиняюсь за старость
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
я с snikersom согласен, я просто понял что си шарп используются и в веб разработок, я просто спросил..
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
А вот здесь вы не правы, на шарпе разрабатываются сайты http://www.binec.ru/sculptor вот например.

А вот на чем одноклассники - действительно вопрос http://www.whats.ru/21960.html
неужели шарп является удобным для веб разработки?

да и. если чесно. первый раз вижу, чтобы использовалось не пхп и асп нет. а что то ещё. извиняюсь за старость
Вы не поверите, так же как и jsp, намного удобнее и логичнее php. Другой вопрос, что linux + apache +... проще админятся и не требуют лицензии. а так же проще в освоении
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
вопрос следующий, когда извлекаю дату то если время 06:02 то время сохраняется как 6:2, жутко не красиво, можно это исправить просто функцией или надо проверять и если надо то добавить нолик?
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
А покажите, каким именно образом и из чего извлекаете, тогда можно будет и посоветовать что-нибудь.
 

mrPsyx

Well-Known Member
Регистрация
27.09.2009
Сообщения
375
Код:
$timeArray = getdate();
$time = $timeArray['hours'].':'.$timeArray['minutes'];
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Функция date()


date - формат локального времени/даты.

Описание

Код:
string date (string format [, int timestamp])
Возвращает строку, отформатированную в соответствии со строкой формата с использованием заданного целочисленного timestamp или текущего локального времени, если timestamp/"штамп времени" не задан.

Примечание: правильный диапазон значений для timestamp обычно: с Fri, 13 Dec 1901 20:45:54 GMT до Tue, 19 Jan 2038 03:14:07 GMT. (Это даты, соответствующие максимальному и минимальному значениям 32-битного целого числа). В windows этот диапазон ограничен датами от 01-01-1970 до 19-01-2038.

Для генерации timestamp из строки, представляющей дату, вы можете использовать strtotime(). Кроме того, некоторые базы данных имеют функции для конвертации их форматов даты в timestamp'ы (такие как функция MySQL'а UNIX_TIMESTAMP).

В строке формата распознаются следующие символы:
a - "am" или "pm"
A - "AM" или "PM"
B - время Swatch Internet
d - день (число) месяца, 2 цифры с ведущим нулём, если необходимо; т. е. от "01" до "31"
D - день недели, буквенный, 3 буквы; например, "Fri"
F - месяц, буквенный, long; например, "January"
g - час, 12-часовой формат без ведущих нулей; т.е. от "1" до "12"
G - час, 24-часовой формат без ведущих нулей; т.е. от "0" до "23"
h - час, 12-часовой формат; т.е. от "01" до "12"
H - час, 24-часовой формат; т.е. от "00" до "23"
i - минуты; т.е. от "00" до "59"
I (заглавная i) - "1", если Daylight Savings Time, "0" - в противном случае.
j - день (число) месяца без ведущих нулей; т.е. от "1" до "31"
l ('L' в нижнем регистре) - день недели, буквенный, long; например, "Friday"
L - boolean, указывающее, високосный ли год; т.е. "0" или "1"
m - месяц; т.е. от "01" до "12"
M - месяц, буквенный, 3 буквы; например, "Jan"
n - месяц без ведущих нулей; т.е. от "1" до "12"
O - Разница с временем по Гринвичу, в часах; например, "+0200"
r - RFC 822 формат даты; например, "Thu, 21 Dec 2000 16:01:07 +0200" (введён в PHP 4.0.4)
s - секунды; т.е. от "00" до "59"
S - простой английский суффикс для дня (числа) месяца, 2 символа; т.е. "st", "nd", "rd" или "th"
t - количество дней в данном месяце; т.е. от "28" до "31"
T - установка Timezone/Часовой пояс на данной машине; например, "EST" или "MDT"
U - секунды эпохи Unix Epoch (начиная с January 1 1970 00:00:00 GMT)
w - день недели, числовой, т.е. от "0" (Sunday) до "6" (Saturday)
W - ISO-8601 номер недели в году, недели начинаются с понедельника/Monday (введено в PHP 4.1.0)
Y - год, 4 цифры; например, "1999"
y - год, 2 цифры; например, "99"
z - день года; т.е. от "0" до "365"
Z - смещение часового пояса, в секундах (т.е. от "-43200" до "43200"). Смещение часовых поясов к западу от UTC всегда отрицательное, а для поясов в востоку от UTC - всегда положительное.
Нераспознаваемые символы в строке формата печатаются как есть. Формат "Z" всегда возвращает "0" при использовании gmdate().

Пример 1. date()
Код:
echo date ("l dS of F Y h:i:s A");
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));
Вы можете предотвратить развёртывание распознаваемого символа в строке формата, мнемонизируя (заменяя) его вставкой перед ним обратного слэша (\). Если символ с обратным слэшем уже является специальной последовательностью, вам может понадобиться также мнемонизировать и обратный слэш.

Пример 2. Escap-ирование символов в date()
Код:
echo date("l \\t\h\e jS"); // печатает что-нибудь вроде 'Saturday the 8th'
Имеется возможность совместного использования date() и mktime() для поиска дат в будущем или в прошлом.

Пример 3. date() и mktime()
Код:
$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));
$nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);
Примечание: это может оказаться более надёжным, чем просто добавление или вычитание числа секунд из дня или месяца, в timestamp, из-за использования перехода на летнее время.

Далее идут некоторые примеры форматирования date(). Заметьте, что вы должны мнемонизировать любые другие символы, так как те из них, которые имеют в настоящее время специальное значение, будут давать нежелательный результат, а другие символы могут получить особое значение в будущих версиях PHP. При мнемонизировании убедитесь в использовании одинарных кавычек для предотвращения использования символов вроде \n как символов новой строки/newlines.

Пример 4. Форматирование date()
Код:
/* Сегодня March 10th, 2001, 5:16:18 pm */
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // Это 10-е число.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m это месяц
$today = date("H:i:s");                         // 17:16:17
Для форматирования дат на других языках вы должны использовать функции setlocale() и strftime().

См. также getlastmod(), gmdate(), mktime(), strftime() и time().



В данном случае:
Код:
$time = date("H:i");
И всё!!!
 

motek

злой как @
Регистрация
13.04.2010
Сообщения
730
вопрос следующий, когда извлекаю дату то если время 06:02 то время сохраняется как 6:2, жутко не красиво, можно это исправить просто функцией или надо проверять и если надо то добавить нолик?

Вроде так:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>date</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
	<body>
		<span id="date">&nbsp;</span>
		<script type="text/javascript">
			window.onload = function()
			{			
				var oDate = new Date();
				var iCurrentDay = ((oDate.getDate() < 10)? "0"+oDate.getDate() : oDate.getDate());
				var iCurrentMonth = (((oDate.getMonth()+1) < 10)? "0"+(oDate.getMonth()+1) : oDate.getMonth()+1);
				var iCurrentYear = oDate.getFullYear();
			
				document.getElementById("date").innerHTML = iCurrentDay+"."+iCurrentMonth+"."+(""+iCurrentYear).substring(2);		
			}
		</script>
	</body>
</html>
 
Статус
Закрыто для дальнейших ответов.
Верх Низ