Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

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

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

 

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

Featured Replies

  • Автор

Ами замених ги ама все същото. Благодаря за бързия отговор :)

Редактирано от bgfreak (преглед на промените)

Ами замених ги ама все същото. Благодаря за бързия отговор :)

Това е целия скрипт, който при обработване на файл с по-малки размери от зададените, не го променя.

<?php

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

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

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

$theight = "768";   // 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


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

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


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


	  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($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);		*/

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

	  imagecopyresampled($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>';

  }

} ?>

  • Автор

Сега възникна един друг проблем, но не исках да пиша нова тема. Сега се опитвам да направя галерия, но се натъкнах на следния проблем проблем:

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

Мисля, че това е последният ми въпрос и повече няма да ви губя времето (ако така го приемате де). И ако искате скрипта на галерията мога да ви го дам. Също така галерията може да видите ТуК.

Сега възникна един друг проблем, но не исках да пиша нова тема. Сега се опитвам да направя галерия, но се натъкнах на следния проблем проблем:

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

Мисля, че това е последният ми въпрос и повече няма да ви губя времето (ако така го приемате де). И ако искате скрипта на галерията мога да ви го дам. Също така галерията може да видите ТуК.

Прочети малко тук: http://faq.host.bg/load.php?id=HL532246

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

  • Автор

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

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

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

<?php


$pic[0] = "ku4e.jpg";

$pic[1] = "win_wallpaper.jpg";

$pic[2] = "kashta.jpg";

$pic[3] = "avatar.jpg";


asort($pic);


foreach($pic as $spisak_pic)

{echo "<img src=\"$spisak_pic \" /><br />";}


?>

Ще ти подреди снимките по име на файла:

avatar.jpg

kashta.jpg

ku4e.jpg

win_wallpaper.jpg

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

Редактирано от m_sharky (преглед на промените)

Яки са! Ако кажеш, че и ти си ги правил :(

Яки са! Ако кажеш, че и ти си ги правил :(

Понятие си нямам от тоя АctionScript... Че и от Flash почти нищо не отбирам... :(

  • 3 месеца по-късно...

Здравейте! Ползвах този скрипт и не съм доволен от качеството на изображенията - http://pmg-blg.com/onlineschool/images/uro...ig/uv_light.jpg

След като направих

imagetruecolortopalette($simg, true, 256); // Създай нова цветова палитра

от false в true малко се вдигна, но пак е същото. Променях и 3-тия параметър до 250 000 и 65 000 но няма разлика. Не съм голям специалист в генерирането на изображенията и много от функциите са ми непознати, но знам от други хора ползвали скрипта, че качеството може да се вдигне, но въпроса е как.

ето го и скрипта след като отстраних някой проблеми в съоразмеряването на снимките:

$tdir = $tdir_small;   // директория за смалените снимки

$twidth = $twidth_small1;   //максимална Width за смалените снимки 

$theight = $theight_small1;   // максимална Height за смалените снимки 


$url_pic[$i] = $pic['name'][$i];   // постави $url_pic[$i], равен на името на файла за по-късна употреба

if ($pic['type'][$i] == "image/jpg" || $pic['type'][$i] == "image/jpeg" || $pic['type'][$i] == "image/pjpeg" || $pic['type'][$i] == "image/gif" || $pic['type'][$i] == "image/png") {

$file_ext = strrchr($pic['name'][$i], '.');   // Провери разширението на файла дали отговаря на задания формат .jpg, .gif или .php


$copy = copy($pic['tmp_name'][$i], "$idir" . $pic['name'][$i]);   // Премести снимките от временната към постоянната директория


if ($copy) {   // Проверка дали скрипта е успял да премести снимките от временната към постоянната директория

  echo "<br /><br /><b>Изображението <font class=\"green\">$url_pic[$i]</font> беше успешно качено.</b> <img src=\"../resource/right_icon.jpg\" alt=\"OK\" /><br />";   // Тогава изведи true


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

	$simg = imagecreatefromjpeg("$idir" . $url_pic[$i]);   // Направи нов временен файл, за да се създадат умалени изображения от тип .jpg

  } else

  if ($pic['type'][$i] == "image/gif") {

	$simg = imagecreatefromgif("$idir" . $url_pic[$i]);   //Направи нов временен файл, за да се създадат умалени изображения  от тип .gif

  } else

  if ($pic['type'][$i] == "image/png") {

	$simg = imagecreatefrompng("$idir" . $url_pic[$i]);   //Направи нов временен файл, за да се създадат умалени изображения  от тип .gif

  }


  $currwidth = imagesx($simg);   // Определи сегашната Width  на снимката

  $currheight = imagesy($simg);   // Определи сегашната Height  на снимката


  $newwidth = $currwidth;   // Създай нова Width за снимката

  $newheight = $currheight;   // Създай нова Height за снимката 


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


	  if ($currheight > $currwidth) {   // Ако височината е по-голяма от широчината

		 $zoom = $theight / $currheight;   // Съотношение за Width

		 $newheight = $theight;   // Height е равен на максималния Height

		 $newwidth = $currwidth * $zoom;   // Създай нов Width

	  } else {	// В противен случай считай, че Width е по-голяма от Height (ще даде същият резултат ако Width = Height)

		$zoom = $twidth / $currwidth;   // Съотношение за Height

		$newwidth = $twidth;   // Width е равен на масимания Width

		$newheight = $currheight * $zoom;   // Създай новата Height

	  }


	}


  $dimg = imagecreate($newwidth, $newheight);   // Създай ново смалено изображение

  imagetruecolortopalette($simg, true, 256);   // Създай нова цветова палитра

  $palsize = ImageColorsTotal($simg);

  for ($iii = 0; $iii < $palsize; $iii++) {   // Пресметни броя на цветовете в изобажението

   $colors = ImageColorsForIndex($simg, $iii);   // Брой на използвани цветове

   ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Кажи на сървъра какви изображения ще използва изображението

  }


/*	  imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);		*/

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

  imagecopyresampled($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Копирай смалената снимка към новото изображение (т.е. запази го)


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

  imagejpeg($dimg, "$tdir" . $url_pic[$i]);   // Запазвам изображението

  } else

  if ($pic['type'][$i] == "image/gif") {

	imagegif($dimg, "$tdir" . $url_pic[$i]);   // Запазвам изображението	

  } else

  if ($pic['type'][$i] == "image/png") {

	imagepng($dimg, "$tdir" . $url_pic[$i]);   // Запазвам изображението

  } 


  imagedestroy($simg);   // Унищожи временното изображение

  imagedestroy($dimg);   // Унищожи другото временноизображение


  unlink("$idir" . $pic['name'][$i]);


  $newwidth=(integer)$newwidth;

  $newheight=(integer)$newheight;


  echo "Изображението <b><font class=\"green\">$url_pic[$i]</font></b> беше успешно променено на <b>$newwidth x $newheight px.</b> <img src=\"../resource/right_icon.jpg\" alt=\"OK\" /><br />";  // Успешно намаляване на размера

} else {

  echo "<br /><br /><b><font class=\"style6\">ГРЕШКА:</font> Не мога да кача изображението <font class=\"style6\">$url_pic[$i]</font>! <img src=\"../resource/error_icon.jpg\" alt=\"ERROR!\" /></b><br />";	// Грешка при неуспех

  $url_pic[$i]="";

}

} else {

echo "<br /><br /><b><font class=\"style6\">ГРЕШКА:</font> Каченият от вас файл <font class=\"style6\">$url_pic[$i]</font> не е от правилния тип - <font class=\"style6\">.JPG, .GIF или .PNG</font>!  <img src=\"../resource/error_icon.jpg\" alt=\"ERROR!\" /></b><br />";	// Грешка при сбъркан тип файл

$url_pic[$i]="";

}

Дам оправих го смених

$dimg = imagecreate($newwidth, $newheight); // Създай ново смалено изображение

с

$dimg = imagecreatetruecolor($newwidth, $newheight); // Създай ново смалено изображение

Редактирано от m_sharky (преглед на промените)

могаД се пише с Т накрая ;)

Човека е пренаписал едвали не сайта. И не го е крал от шиШарки, ами го е копирал от coloshemer (или както там беше адреса).

5 човека ако са си направили сайта от един и същи безплатен темплейт - крали ли са един от друг? Замисли се.

Критикуваш човека и то с доста кофти тон... а това право никой не ти го дава, понеже както ти сам каза - в тази тема не ти си важен, а двата подобни проекта, които се обсъждат.

  • 5 месеца по-късно...

Здравейте пробвах последният скрипт но ми дава грешка че снимката е прекалено голяма. Нормално ли е това?

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.