|
Тема
|
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 в профила ми
| |
|
|
|
|