Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Търся функция на PHP за оразмеряване на снимки


Препоръчан отговор


Трябва ми функция (на PHP) която да оразмерява снимки още преди да са качени на хоста, а ако дадете заедно с това и ъплоуд скрипт ще съм ви много благодарен. Знам, че ще ви прозвучи малко нахално, защото има хора, които се блъскат по цяла нощ за една функция, а такива като мене после им я искат наготово :) . Но наистина това ми е проблем от доста време, защото използвам безплатен субдомейн и като се качват снимки по големи от 1024х768рх галерията не иска да ги изобразява. Затова реших да ги оразмеря преди да ги кача в папката, но все нещо се прецаква sad.gif .

Благодаря на всички предварително

Редактирано от stanley56
Непълно и неясно заглавие (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Трябва ми функция (на PHP) която да оразмерява снимки още преди да са качени на хоста, а ако дадете заедно с това и ъплоуд скрипт ще съм ви много благодарен. Знам, че ще ви прозвучи малко нахално, защото има хора, които се блъскат по цяла нощ за една функция, а такива като мене после им я искат наготово :rolleyes: . Но наистина това ми е проблем от доста време, защото използвам безплатен субдомейн и като се качват снимки по големи от 1024х768рх галерията не иска да ги изобразява. Затова реших да ги оразмеря преди да ги кача в папката, но все нещо се прецаква sad.gif .

Благодаря на всички предварително

Тези неща отдавна са направени, трябва само да се потърсят :

Resize Function

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

cecov благодаря ти за функцията, но тя е само за преоразмеряване на снимки от формат JPG, а на мене ми трябва и за GIF, JPEG и BMP. Пробвах да я поставя в ето този ъплоуд скрипт, но пак не става:

<?php

session_start();

include_once('all_fns.php');


if(!isset($HTTP_SESSION_VARS['valid_user'])) {


include_once('header1.php');

echo '<div class="text">Íÿìàòå ïðàâà çà äà ðàçãëåæäàòå òîçè ðåñóðñ.<br />Òðÿáâà äà âëåçåòå êàòî ïîòðåáèòåë</div>';

include_once('footer1.php');


} else {

include_once('header.php');


 if ($_FILES["userfile"]["type"] == "text/php")

	echo "<div class'text'>No PHP files !!!<br /></div>";


 if ($_FILES["userfile"]["type"] == "image/gif" || $_FILES["userfile"]["type"] == "image/jpeg" || $_FILES["userfile"]["type"] == "image/pjpeg" || $_FILES["userfile"]["size"] < 2048)

   {

   if ($_FILES["userfile"]["error"] > 0)

	 echo "<div class='text'>Return Code: " . $_FILES["userfile"]["error"] . "</div><br />";

   else

	 {

	 echo "<div class='text'>Âèå óïëîóäíàõòå: " . $_FILES["userfile"]["name"] . "</div><br />";

	 echo "<div class='text'>Òèï ôàéë: " . $_FILES["userfile"]["type"] . "</div><br />";


	 if (file_exists("pics/" . $_FILES["userfile"]["name"]))

	   echo "<div class='text'>".$_FILES["userfile"]["name"] . " âå÷å ñúùåñòâóâà. </div>";

	 else

	   {

	   resizeImage($_FILES["userfile"]["tmp_name"])

	   move_uploaded_file($_FILES["userfile"]["tmp_name"], "pics/" . $_FILES["userfile"]["name"]);

	   echo "<div class='text'>Èìå íà ôàéë: " . $_FILES["userfile"]["name"] . "</div><br />";

	   }

	 }

   }

  }

  else

	echo '<div class="text">Âå÷å ñòå óïëîóäâàëè òàçè ñíèìêà!</div>';

  include_once('footer.php');

}

?>

Помогнете :)

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Нз това може да ти свърши работа/ http://upload.thinfile.com/image/?g3&g...CFRAFEgodeibQAw


Линк към този отговор
Сподели в други сайтове
Нз това може да ти свърши работа/ http://upload.thinfile.com/image/?g3&g...CFRAFEgodeibQAw

m_sharky благодаря ти за това, което ми даде, но нещо не мога да го подкарам. Правя всичко, както е описано в ИНСТАЛ.ТХТ, но не става. Поагайте sad.gif

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Айде помогнете, моля ви се, че ми е спешно. Нещо просто, което работи - само това ми трябва и аз ще се оправя нататък :)

П.С. Трябва ми ъплоуд + ресайз

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Абе и на мене не иска да ми трагне ама това требва да се преработи малко там има един файл дето пишеш папка къде да уплоадва ама нещо и на мене не ми стана, ама не се занимавах сериозно, защото сега не ми е спешно. Предполагам, че и локалния хост може да прави проблеми. Затова виж ако искаш с некой хост в интернет, дето подържа ъплоад функция. :beer11:

Линк към този отговор
Сподели в други сайтове

addphoto.php

<?php

$idir = "images/";   // Path To Images Directory

$tdir = "images/thumbs/";   // Path To Thumbnails Directory

$twidth = "125";   // Maximum Width For Thumbnail Images

$theight = "100";   // Maximum Height For Thumbnail Images


if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>

  <form method="post" action="addphoto.php?subpage=upload" enctype="multipart/form-data">

   File:<br />

  <input type="file" name="imagefile" class="form">

  <br /><br />

  <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">

  </form>

<? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script

  $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use

  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg" || $_FILES['imagefile']['type'] == "image/gif") {

	$file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php

	$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location

	if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location

	  print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

		$simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		$simg = imagecreatefromgif("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From		

	  }

	  $currwidth = imagesx($simg);   // Current Image Width

	  $currheight = imagesy($simg);   // Current Image Height

	  if ($currheight > $currwidth) {   // If Height Is Greater Than Width

		 $zoom = $twidth / $currheight;   // Length Ratio For Width

		 $newheight = $theight;   // Height Is Equal To Max Height

		 $newwidth = $currwidth * $zoom;   // Creates The New Width

	  } else {	// Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)

		$zoom = $twidth / $currwidth;   // Length Ratio For Height

		$newwidth = $twidth;   // Width Is Equal To Max Width

		$newheight = $currheight * $zoom;   // Creates The New Height

	  }

	  $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail

	  imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete

	  $palsize = ImageColorsTotal($simg);

	  for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image

	   $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used

	   ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use

	  }

	  imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

	  imagejpeg($dimg, "$tdir" . $url);   // Saving The Image

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		imagegif($dimg, "$tdir" . $url);   // Saving The Image

	  }	  


	  imagedestroy($simg);   // Destroying The Temporary Image

	  imagedestroy($dimg);   // Destroying The Other Temporary Image

	  print 'Image thumbnail created successfully.';   // Resize successful

	} else {

	  print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed

	}

  } else {

	print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong

	print $file_ext;   // Show The Invalid File's Extention

	print '.</font>';

  }

} ?>

Взета е ОТТУК и е добавена възможност за ъплоуд на GIF файлове.

Работи с JPG/JPEG/GIF.

В папките, където се записват файловете трябва да се дадат права за запис.

Линк към този отговор
Сподели в други сайтове

Мерси! Като имам време ще го погледна. Надявам се на други, които има трябва да кажат работи ли как трява :beer11:

Линк към този отговор
Сподели в други сайтове

Ken благодаря ти за функцията, но аз искам да ми оразмерява основната снимка, който се запазва в папка images, а и между другото тъмбнейлчетата не са чак толкова качествени :wors:

Линк към този отговор
Сподели в други сайтове
Ken благодаря ти за функцията, но аз искам да ми оразмерява основната снимка, който се запазва в папка images, а и между другото тъмбнейлчетата не са чак толкова качествени :)

Те затова се казват "тъмбнейлчета" защото са малки, а не може да са малки и да са качествени.

За щастие обаче размера може да се задава в скрипта :rolleyes:

<?php

$idir = "images/temp/";   // Path To Images Directory / ВРЕМЕННО КАРТИНКАТА СЕ ПАЗИ В ТАЗИ ПАПКА НА СЪРВЪРА

$tdir = "images/";   // Path To Thumbnails Directory / А ТУК СЕ ЗАПИСВА ПРЕОРАЗМЕРЕНАТА

// В двете горни папки трябва да може да се пише а в първата и да се трие

$twidth = "250";   // Maximum Width For Thumbnail Images / ТОВА ОПРЕДЕЛЯ ШИРИНАТА НА тъмбнейлчетата

$theight = "200";   // Maximum Height For Thumbnail Images / ТОВА ОПРЕДЕЛЯ ВИСОЧИНАТА ИМ


if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>

  <form method="post" action="addphoto1.php?subpage=upload" enctype="multipart/form-data">

   File:<br />

  <input type="file" name="imagefile" class="form">

  <br /><br />

  <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">

  </form>

<? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script

  $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use

  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg" || $_FILES['imagefile']['type'] == "image/gif") {

	$file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php


	$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location


	if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location

	  print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

		$simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		$simg = imagecreatefromgif("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From		

	  }

	  $currwidth = imagesx($simg);   // Current Image Width

	  $currheight = imagesy($simg);   // Current Image Height

	  if ($currheight > $currwidth) {   // If Height Is Greater Than Width

		 $zoom = $twidth / $currheight;   // Length Ratio For Width

		 $newheight = $theight;   // Height Is Equal To Max Height

		 $newwidth = $currwidth * $zoom;   // Creates The New Width

	  } else {	// Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)

		$zoom = $twidth / $currwidth;   // Length Ratio For Height

		$newwidth = $twidth;   // Width Is Equal To Max Width

		$newheight = $currheight * $zoom;   // Creates The New Height

	  }

	  $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail

	  imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete

	  $palsize = ImageColorsTotal($simg);

	  for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image

	   $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used

	   ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use

	  }

	  imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

	  imagejpeg($dimg, "$tdir" . $url);   // Saving The Image

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		imagegif($dimg, "$tdir" . $url);   // Saving The Image

	  }	  


	  imagedestroy($simg);   // Destroying The Temporary Image

	  imagedestroy($dimg);   // Destroying The Other Temporary Image


	  unlink("$idir" . $_FILES['imagefile']['name']);


	  print 'Image resizeded successfully.';   // Resize successful

	} else {

	  print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed

	}

  } else {

	print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong

	print $file_ext;   // Show The Invalid File's Extention

	print '.</font>';

  }

} ?>

Казвай ако имаш още някакви желания.

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Аз кода го разбирам и го подкарах, но искам да се оразмерява и самата снимка, която се качва. Всмимъл да има още две променливи $pic_width и $pic_height, например, които да определят размера на голямата снимка, записваща се в папка images. Фактически аз това незнам как да направя :hush: :hush:

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Аз кода го разбирам и го подкарах, но искам да се оразмерява и самата снимка, която се качва. Всмимъл да има още две променливи $pic_width и $pic_height, например, които да определят размера на голямата снимка, записваща се в папка images. Фактически аз това незнам как да направя :hush: :hush:

Последната редакция на скрипта според теб какво прави ?

$twidth = "250"; // Maximum Width For Thumbnail Images / ТОВА ОПРЕДЕЛЯ ШИРИНАТА НА тъмбнейлчетата

$theight = "200"; // Maximum Height For Thumbnail Images / ТОВА ОПРЕДЕЛЯ ВИСОЧИНАТА ИМ

тези променливи не са ли това, което искаш ?

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Не ти говоря за тъмбнейли, а за снимки. Ето го първоначалният код:

$idir = "images/";   // Path To Images Directory

$tdir = "images/thumbs/";   // Path To Thumbnails Directory

$twidth = "125";   // Maximum Width For Thumbnail Images

$theight = "100";   // Maximum Height For Thumbnail Images

Искам не размери на тъмбнейли, а на снимката, която се качва в images. Надявам се да си ме разбрал, защото незнам как да го обясня по-ясно ;)

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Не ти говоря за тъмбнейли, а за снимки. Ето го първоначалният код:

$idir = "images/";   // Path To Images Directory

$tdir = "images/thumbs/";   // Path To Thumbnails Directory

$twidth = "125";   // Maximum Width For Thumbnail Images

$theight = "100";   // Maximum Height For Thumbnail Images

Искам не размери на тъмбнейли, а на снимката, която се качва в images. Надявам се да си ме разбрал, защото незнам как да го обясня по-ясно ;)

Не ме интересува за какво говориш, след като ти не си направи труда да видиш какво ти се предлага.

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)
Не ме интересува за какво говориш, след като ти не си направи труда да видиш какво ти се предлага.

Разгледах кода, тествах го - работи и ти благодаря. Виж точно за какво те питам, защото мисля, че го няма или ако има такава опция ми я цитирай, ако може. Като променя

$twidth = "125"; // Maximum Width For Thumbnail Images

$theight = "100"; // Maximum Height For Thumbnail Images

се сменя големината на тъмбнейлите, а не на снимките.

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Разгледах кода, тествах го - работи и ти благодаря. Виж точно за какво те питам, защото мисля, че го няма или ако има такава опция ми я цитирай, ако може

Промени числата в $twidth и $theight, качи някаква снимка (jpg или gif). Не се ли записва преоразмерена снимка, в съответствие със зададените размери в папка images ?

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

НЕ преоразмеряват се само тъмбнейлите в папка images/thumbs - това се опитвам да обясня от 3-4 поста насам. :)

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове
НЕ преоразмеряма се само тъмбнейла - това се опитвам да обясня от 3-4 поста насам :)

Използвайки последния вариант на скрипта, след като промених променливите на 250, качих една снимка.

Размера и бе променен на 250 и бе записана в IMAGES папката.

Не мога да разбера какво не ти харесва ?

Май говорим на различни езици.

Редактирано от Ken (преглед на промените)
Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Ken, първо искам да ти се извиня, защото наистина последният код, който си публикувал, работи (а аз се опитвах да подкарам първия през цялото време). Обаче след като се оразмерят снимките имам един проблем:

Качеството на снимките се понижава значително (имай впредвид, че ширината и височината ги променям правопропорционално).

Благодаря предварително! :P

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Ken, първо искам да ти се извиня, защото наистина последният код, който си публикувал, работи (а аз се опитвах да подкарам първия през цялото време). Обаче след като се оразмерят снимките имам един проблем:

Качеството на снимките се понижава значително (имай впредвид, че ширината и височината ги променям правопропорционално).

Благодаря предварително! :P

Няма как да не се развали качеството при намаляване на снимка.

Просто пикселите стават много по-малко.

Тествай при какви размери постигаш задоволително качество и използвай тях.

Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Ken ето как промених кода с цел, ако снимките са по-малки (примерно 500x135px или 135x500px) скрипта да не им променя размера, особено при втория вариант, когато височината на оригиналната снимка е по голяма от дължината й, и тогава кода разпъва снимката до 1024рх и става нещо ужасно. Ще те помоля да ми помогнеш да избегна този бъг. А ето го и кода :) :

<?php

session_start();

include_once('all_fns.php');

include_once('header.php');


if(!isset($HTTP_SESSION_VARS['valid_user'])) {

	echo '<div class="text">Íÿìàòå ïðàâà çà äà ðàçãëåæäàòå òîçè ðåñóðñ.<br />Òðÿáâà äà âëåçåòå êàòî ïîòðåáèòåë</div>';

} else {


$idir = "images/temp/";   // ÂÐÅÌÅÍÍÎ ÊÀÐÒ�ÍÊÀÒÀ ÑÅ ÏÀÇ�  ÒÀÇ� ÏÀÏÊÀ ÍÀ ÑÚÐÂÚÐÀ

$tdir = "images/";   // À ÒÓÊ ÑÅ ÇÀÏ�ÑÂÀ ÏÐÅÎÐÀÇÌÅÐÅÍÀÒÀ

$twidth = "1024";   // ÒÎÂÀ ÎÏÐÅÄÅËß ��Ð�ÍÀÒÀ ÍÀ òúìáíåéë÷åòàòà

$theight = "768";   // ÒÎÂÀ ÎÏÐÅÄÅËß Â�ÑÎ×�ÍÀÒÀ �Ì


if (!isset($_GET['subpage'])) {  ?>


  <center>

  <h2 style='color: #073A8F; display: block;'>Êà÷âàíå íà ñíèìêè â Ãàëåðèÿòà</h2>

  <form method='post' action='upload.php?subpage=upload' enctype='multipart/form-data'>

  <span style='color: #073A8F;'>Êà÷è ôàéë:</span> <input name="imagefile" type="file" />

  <div style='display:block;'><input type='submit' name='submit' value='Êà÷âàé' /><input type='reset' value='�ç÷èñòè' /></div>

  </form><br />


  <div style="font-size:21px; color:#073A8F">Âèå èìàòå ïðàâî äà êà÷âàòå ñíèìêè îò ôîðìàòè: GIF, JPEG, JPG!</div>

  </center>


<?php } else {


  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script


  $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use

  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg" || $_FILES['imagefile']['type'] == "image/gif") {

	$file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php


	$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location


	if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location

	  print '<div class="text">Ñíèìêàòà áåøå êà÷åíà óñïåøíî! <a href="upload.php">Îáðàòíî</a></div>';   // Was Able To Successfully Upload Image


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

		$simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		$simg = imagecreatefromgif("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From

	  }


	  $currwidth = imagesx($simg);   // Current Image Width

	  $currheight = imagesy($simg);   // Current Image Height

	  if($currwidth > $twidth && $currheight > $theight) {

	  if ($currheight > $currwidth) {   // If Height Is Greater Than Width

		 $zoom = $twidth / $currheight;   // Length Ratio For Width

		 $newheight = $theight;   // Height Is Equal To Max Height

		 $newwidth = $currwidth * $zoom;   // Creates The New Width

	  } else {	// Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)

		$zoom = $twidth / $currwidth;   // Length Ratio For Height

		$newwidth = $twidth;   // Width Is Equal To Max Width

		$newheight = $currheight * $zoom;   // Creates The New Height

	  }

	  $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail

	  imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete

	  $palsize = ImageColorsTotal($simg);

	  for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image

	   $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used

	   ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use

	  }

	  ImageCopyResampled($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)

	  } else {

	  $dimg = imagecreate($twidth, $theight);   // Make New Image For Thumbnail

	  imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete

	  $palsize = ImageColorsTotal($simg);

	  for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image

	   $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used

	   ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use

	  }

	  ImageCopyResampled($dimg, $simg, 0, 0, 0, 0, $twidth, $theight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)

	  }


	  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {

	  imagejpeg($dimg, "$tdir" . $url);   // Saving The Image

	  } else

	  if ($_FILES['imagefile']['type'] == "image/gif") {

		imagegif($dimg, "$tdir" . $url);   // Saving The Image

	  }	  


	  imagedestroy($simg);   // Destroying The Temporary Image

	  imagedestroy($dimg);   // Destroying The Other Temporary Image


	  unlink("$idir" . $_FILES['imagefile']['name']);


	} else {

	  echo '<div class="text">Â ìîìåíòà óñëóãàòà å íåäîñòúïíà. Ìîëÿ îïèòàéòå ñëåä ìàëêî. <a href="upload.php">Îáðàòíî</a></div>';   // Error Message If Upload Failed

	}

  } else {

	echo '<div class="text">�ìàòå ïðàâî äà êà÷âàòå ñàìî ôàéëîâå îò òèï: GIF, JPEG, JPG. Âàøèÿò ôàéë å îò òèï ';   // Error Message If Filetype Is Wrong

	echo "$file_ext";   // Show The Invalid File's Extention

	echo '. <a href="upload.php">Îáðàòíî</a></div>';

  }

 }

}

}

include_once('footer.php');

?>

Редактирано от bgfreak (преглед на промените)
Линк към този отговор
Сподели в други сайтове

този ред

	  if($currwidth > $twidth && $currheight > $theight) {
го замени с
	  $newwidth = $currwidth;   // Creates The New Width

	  $newheight = $currheight;   // Creates The New Heig	  


	  if ($currheight > $theight || $currwidth > $twidth) {

Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване