Просмотр полной версии : php+jpg
Доброе Вам время суток!!!!
Делаю веб-фотоальбом, для этого нужно силами пхп переделывать размеры картинок(jpg)...
Узнал, что для работы с ждипегами нужна специальная библиотека...
Помогите, пожалуйста, найти мне эту библиотеку, и установать её на мой пхп(версия 4.0.0)
Как это не грусно звучит, но я не знаю, как её устанавливать... :(
СРОЧНО!!!!!!!
Заранее благодарю за помощь!!!
Вы забыли упомянуть
Операционную систему
Установлена ли у вас библиотека GD
Linux
-- with -gd --with-jpeg-dir=/root/pejone/src/jpeg-6b
Если будешь юзать ТТФ шрифты, не забудь поставить libttf (www.freetype.org), заметь каталог указан тот где ты растарил сорсы.
Сырцы берут здесь
http://www.php.net
ftp://ftp.uu.net/graphics/jpeg/
Windows
берем библиотеку GD с www.php.net, прописываем их в php.ini.
Что до скрипта - то в природе существует масса превю классов. Даже я один написал на днях, хотел было его в PEAR.php.net засунуть - сказали я там лишний. Класс недоработаный (внезапно навалилась куча проектов), если хочешь могу поделится. Оставь мыло я вышлю... (при маленьком условии! )
<?
$login="admin"; //Угадай что это?
$passw="god"; //Угадай что это?
function error ($error_message) {
echo $error_message."<BR>";
exit;
}
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $login) && ( $PHP_AUTH_PW == $passw )) ) {
header("WWW-Authenticate: Basic entrer=\invisible place\"");
header("HTTP/1.0 401 Unauthorized");
error("Извините, у вас нету прав доступа к этим файлам ");
}
else {
$imgdir="images"; //Директория с фотками
$prevdir="pr_images"; //Директория с превьюшками
$descdir="descriptions/"; //Директория с описаниями
function wf($name, $text)
{
$fp = @fopen ($name, "w+");
@fwrite ($fp, $text);
@fclose ($fp);
};
if(empty($user_file)){
?>
<form action="<?php print $PHP_SELF?>" method="post" enctype="multipart/form-data">
<input type="file" name="user_file" style="width:80%"><br>
<textarea name="desc" rows="10" style="width:80%">Описание</textarea><br>
<input type="submit" value="Только JPG">
</form>
<?
exit;
}
$date=date("Y-m-d");
list($y,$m,$d) =explode("-",$date);
$ufn=$user_file_name;
list($filename,$razh)=explode(".",$ufn);
$store_dir=$imgdir;
if(file_exists($store_dir."/".$user_file_name)){
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert('Файл <?=$user_file_name;?> уже есть в этом каталоге');
document.location="<?=$HTTP_REFERER;?>";
//-->
</SCRIPT>
<?
exit;
}
if( $razh=="jpg" || $razh=="JPG" ){
copy($user_file, $store_dir."/".$user_file_name);
copy($user_file, $prevdir."/".$user_file_name);
$original_photo=$store_dir."/".$ufn;
$destination_photo=$prevdir."/".$ufn;
$w=150;
$preview_result="";
if(!isset($original_photo) or !isset($destination_photo)) exit();
$im = imagecreatefromjpeg($original_photo);
$im_w = imagesx($im);
$im_h = imagesy($im);
if(!isset($w) and !isset($h)){
$w=$im_w;
$h=$im_h;
} elseif(!isset($w)){
$w=$im_w/$im_h*$h;
} elseif(!isset($h)){
$h=$im_h/$im_w*$w;
}
if( !$gd2_0 ){
$dst_im = ImageCreate($w,$h);
imagecopyresized($dst_im, $im, 0, 0, 0, 0, $w, $h, $im_w, $im_h);
} else {
$dst_im = ImageCreateTrueColor($w,$h);
imagecopyresampled($dst_im, $im, 0, 0, 0, 0, $w, $h, $im_w, $im_h);
}
ImageDestroy($im);
$qty=90;
if(!isset($qty)) $qty=-1;
$preview_result.=Imagejpeg($dst_im, $destination_photo, $qty);
ImageDestroy($dst_im);
$desc=stripslashes($desc);
wf($descdir.$ufn.".dat",$desc);
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert('Файл <?=$user_file_name;?> загружен');
document.location="<?=$HTTP_REFERER;?>";
//-->
</SCRIPT>
<?}
}?>
могу сказать что у меня немного по иному.. класс все таки...
Ну это тоже можно доработать, но мне лень
to Pejone: У меня Windows.
Я не нашёл библиотеку GD на www.php.net... :( Помоги ссылкой на неё, или скинь на мыло: bike@ua.fm
Меня интересует детальная установка этой библиотеки, а скрипт я сам накалякаю :)
Но, всёравно,
juggy, спасиб за код!!! :D :D :D
брать Win32 бинарники,смотреть векстеншен директории. Скопируй ее к себе в директорию екстеншенов просто пропиши бинарник GD в php.ini
http://ua.php.net/downloads.php
Перенёс в ппку пхп файл php_gd.dll, в php.ini прописал "extension=php_gd.dll"
При запуске php.exe пишет:
PHP Fatal error: Unable to load dynamic library 'php_gd.dll'<br>
═х эрщфхэр єърчрээр* яЁюЎхфєЁр.
in Unknown on line 0
И всё :( :( :( Что я сделал не так??? :(
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.