Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 10:09 22.05.24 
Компютри и Интернет
   >> PHP
*Кратък преглед

Тема Jpg v baza  
АвторnN (Нерегистриран)
Публикувано16.09.06 00:35



Хора цял ден съм си блъскал главата с един скрипт който трябва да качва картинка в базата и да я извежда в браузъра след това. Ъплоудвам файла и му правя един тъмбнейл който всъщност се качва в базата. Качвам тъмбнейла, но при показването на картинката има проблем - не я показва



Ето малко код:(input.php)

if($submit)
{
$FileName = $_FILES['my_file']['name'];
if ($FileName)
{
$FileNameParts = explode(".", $FileName);
$FileExtension = end($FileNameParts);
if ($FileExtension != "jpg" && $FileExtension != "JPEG" && $FileExtension != "JPG")
{
die ("Choose a JPG for the photo");
}
$PhotoSize = $_FILES['my_file']['size'];
if ($PhotoSize == 0)
{
die ("Sorry. The upload of $FileName has failed.");
}
$TempFileName = $_FILES['my_file']['tmp_name'];
$TempFile = fopen($TempFileName, "r");
$BinaryPhoto = fread($TempFile, fileSize($TempFileName));

$OldErrorReporting = error_reporting(E_ALL & ~(E_WARNING));
$SourceImage = imagecreatefromstring($BinaryPhoto);
error_reporting($OldErrorReporting);
if (!$SourceImage)
{
die ("Sorry.It was not possible to read photo $FileName.Choose another photo in JPG format.");
}

$Width = imagesx($SourceImage);
$Height = imagesy($SourceImage);
$DestinationWidth = 80;
$DestinationHeight = 60;
$DestinationImage = imagecreate($DestinationWidth, $DestinationHeight);
imagecopyresized($DestinationImage, $SourceImage,0, 0, 0, 0,$DestinationWidth, $DestinationHeight,$Width, $Height);
ob_start();
imageJPEG($DestinationImage);
$BinaryThumbnail = ob_get_contents();
ob_end_clean();
$BinaryThumbnail = addslashes($BinaryThumbnail);
$query=mysql_query("INSERT INTO table (th_base) VALUES ('$BinaryThumbnail')");
if($query) echo "uploaded";
else echo "error";
}
}

else
{
echo '
<form action=admin_index.php?content=add method=POST enctype="multipart/form-data">
<input type=hidden name=content value="add">
<table border=0><td><tr>
<td><b>Base Photo:</b></td><td><input type=file name=my_file>'.$error_file.'</td></tr>
</table>

<input type=submit value=Add name=submit></form>';
}


И сега тъмбнейла е в базата всичко каточели е ОК.
Опитвам се да го извадя по най-елементарния начин:

image.php:
<HTML>
<img src="image_test.php" width=80 height=60>
</HTML>

image_test.php:
header("Content-type: image/jpeg");
$connection = mysql_connect("localhost", "user", "pass");
mysql_select_db("db", $connection);

$query = mysql_query("SELECT th_base FROM table WHERE id=47");
$Row = mysql_fetch_array($query);
$Jpg = $Row["th_base"];
echo $Jpg;

Естествено проверих в базата ид-то де
Някакви идеи защо браузъра не вади картинката ? Данеби нещо при вкарването на данните да бъркам ?



Тема Re: Jpg v bazaнови [re: nN]  
Автор Bълk (умора няма)
Публикувано16.09.06 02:46



image_test.php

като махнеш хедър за картинка какво ти вади, сорса който е в ДБ или грешка?

между другото ... с това об ... виж бейс 64 енкодинг и декодинг ... имах подобна главоблъсканица преди 3-4 години и това му беше проблема, че тъмбнейла на живо се е появявал а след записване в ДБ и после изваждане не е, и ставаше след някаква РНР версия и за да заобиколя подобна простотия го блъсках в един файл със случайно име и от там го теглих готов, прасках в ДБ и изтривах.

Редактирано от Bълk на 16.09.06 03:10.



Тема Re: Jpg v bazaнови [re: Bълk]  
АвторnN (Нерегистриран)
Публикувано16.09.06 15:26



тъй, image_test.php вади сорса от базата. Значи сорса си е на мястото, не може да се създаде картинка от него ... къде трябва да е проблема ?





Тема Re: Jpg v bazaнови [re: nN]  
АвторnN (Нерегистриран)
Публикувано16.09.06 17:08



направих го с доста зор чесно казано. Стъпка по стъпка, разделих ги скриптовете - един за ъплоуд на снимка, втори за тъмбнейл от тази снимка и качване на тъмба в друга директория и трети който бута в базата основната снимка и тъмбнейла. Изкарва ги както трябва, но с темпорари фаилове не става както трябва - омазва ги нещо. По-добре да си го направи човек файловете физически да са достъпни и тогава с бейс64 да ги енкодва и хоп в базата. Кофти работа са тея тъмбове.

Вълк прав беше инъче - по-добре първо да си ги направя файловете. Мерси



Тема Re: Jpg v bazaнови [re: nN]  
Автор Bълk (умора няма)
Публикувано17.09.06 01:00



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



Тема Re: Jpg v bazaнови [re: Bълk]  
АвторnN (Нерегистриран)
Публикувано17.09.06 11:56



DVD-та със сорсове


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



Тема Re: Jpg v bazaнови [re: nN]  
Автор Bълk (умора няма)
Публикувано17.09.06 17:31



6 години има



Тема Re: Jpg v bazaнови [re: Bълk]  
АвторnN (Нерегистриран)
Публикувано17.09.06 18:28



6 години само пхп ? Не си ли преминавал на други езици ?
тва малко на лафче го удряме ама .... дай един скайп, ако имаш време.



Тема Re: Jpg v bazaнови [re: nN]  
Автор Bълk (умора няма)
Публикувано20.09.06 03:25



от другите езици съм заминал пък то вече стана 7 навършени. има icq в профила ми




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.