Как работать с картинками ?

CDParker

Guest
Как работать с картинками ?

У меня на локалхосте был скриптик для добавления аватарок посетителям.Но он на сервере (FreeBSD) оказался нерабочим. Можете расказть почему, вот он

$max_image_width = 120;
$max_image_height = 120;
$max_image_size = 120*120;
$valid_types = array("gif");

$idartava=$_POST['idartist2'];
if (isset($_FILES["userfile"])) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$filename = $_FILES['userfile']['tmp_name'];
$ext = substr($_FILES['userfile']['name'],
1 + strrpos($_FILES['userfile']['name'], "."));
if (filesize($filename) > $max_image_size) {
echo 'Error: File size > 10K.';
} elseif (!in_array($ext, $valid_types)) {
echo 'Error: Invalid file type.';
} else {
$size = GetImageSize($filename);
if (($size) && ($size[0] < $max_image_width)
&& ($size[1] < $max_image_height)) {
if (@move_uploaded_file($filename,"/home/akkords.com.ua/www/img/$idartava.gif")) {
echo 'File successful uploaded.';
} else {
echo 'Error: moving file failed.';
}
} else {
echo 'Error: invalid image properties.';
}
}
} else {
echo "Error: empty file.";
}
echo "<center>[<a href=\"modules.php?name=Your_Account&op=edit_avatar\">назад</a>]</center>";
OpenTable();
} else {
include("functions.php");
$username=$userinfo[username];
$result = $db->sql_query("SELECT * FROM ".$user_prefix."_users WHERE username='$username'");
$num = $db->sql_numrows($result);
$usrinfo = $db->sql_fetchrow($result);
/*Ето получение айди юзера*/
$ok = $usrinfo['user_id'];
$bands=$db->sql_query("SELECT idartist FROM nuke_topmusic_moderators WHERE user_id='$ok'");
$number = $db->sql_numrows($bands);
$allowbands = $db->sql_fetchrow($bands);

echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#AAAAAA\"><tr><td>";
echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"1\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" id=\"AutoNumber1\">";
echo "<tr><td bgcolor=\"#E5D9BD\">Текущая аватара</td><td bgcolor=\"#E5D9BD\">Загрузить новую</td></tr>";

$bands2=$db->sql_query("SELECT idartist FROM nuke_topmusic_moderators WHERE user_id='$ok'");
while ($choose = $db->sql_fetchrow($bands2)) {
$idartist2 = $choose[idartist];
$artistname= artistname("$idartist2");
echo "<tr><td bgcolor='#FAEAB0' rowspan=\"2\"><center>";


$filename1 = 'img/'.$idartist2.'.gif';

if (file_exists($filename1)) {
$avatara=$filename1;
$show='yes';
} else {
$show='no';
}


if($show=='yes'){
echo "<img name=\"foto\" src=\"img/".$idartist2.".gif\" alt=\"$artistO->getName()\">";
} elseif($show=='no'){
echo "<center><b>[нет]</b>";
}

echo "</center></td><td bgcolor=\"#ECEBE9\"><b>$artistname</b></td></tr><tr><td height=50>";

echo '
<form enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="64000">
<input type="hidden" name="idartist2" value='.$idartist2.'>
<input name="userfile" type="file">
<input type="submit" value="Записать">
</form>';
}
echo "</td></tr>";
 

CDParker

Guest
А теперь ясно, а как можно сохранить разрешение файла, ато у меня урезаеться
 

specialist

Guest
Автор оригинала: CDParker
А теперь ясно, а как можно сохранить разрешение файла, ато у меня урезаеться
очевидно его не урезать(ты наверно имел ввиду, что оно в любом случае ставится гиф?)...
PHP:
.... if (@move_uploaded_file($filename,"/home/akkords.com.ua/www/img/$idartava.gif")) {....
и потом для получения разрешения файла можно использовать и вот это (поправьте меня , если я ошибаюсь)
PHP:
$ext=substr($_FILES['userfile']['name'],-3);
 

t3[0one]

Новичок
а чё мой топ потерли ? )))
есле не правльно сказали бы что так делать не надо )))
Автор оригинала: specialist
$ext=substr($_FILES['userfile']['name'],-3);
в таком случаи ты получишь последние три 3 символа
а есле расшерение будет меньше или больше чем 3 символа ?
 

Фанат

oncle terrible
Команда форума
t3[0one] будь добр, если лезешь отвечать, то пиши код, который за тебя потом не надо проверять.
Это предупреждение. первое и последнее.
 
Сверху