PDA

View Full Version : مبتدی: ذخیره عکس در mysql و نمایش آن در Table (حل شد)



telnet
پنج شنبه 09 آبان 1392, 19:22 عصر
سلام دوستای عزیز من یه سایت طراحی کردم(یه کار دانشجویی) به یه مشکل برخوردم و مشکل اینه که میخوام تو مای اس کیو ال 5 فیلد طریف کنم که تو فیلد اول بتونم عکس قرار بدم بعد تو فیلد های بعدی متن و بعد اینارو توی صفحه وب ام داخل tabale نمایش بدم ممنون میشم اگه کمکم کنید مرسی

MMSHFE
پنج شنبه 09 آبان 1392, 19:52 عصر
بارها گفتم که عکس رو توی دیتابیس ذخیره نکنید. پدر صاحب DBMS رو با این کار در میارین. عکس رو توی فایل ذخیره کنید و مسیرش رو در دیتابیس بگذارین. بگذارین یه مثال بزنم:
پهنای عکس: 800 پیکسل
ارتفاع عکس: 600 پیکسل
عمق رنگ: 32 بیت (True Color)
تعداد بیتهای لازم برای ذخیره تصویر بدون درنظرگرفتن اطلاعات Header و... : 15,360,000 = 32 × 600 × 800 = 14.6484375 مگابایت
حالا همین تصویر رو اگه با فرمت JPEG یا PNG ذخیره کنیم، در بدترین حالت حدود 1 مگابایت فضا اشغال خواهد کرد (بخاطر وجود فشرده سازیهای خاصی که در این فرمتها وجود داره).
تصور کنید توی دیتابیس 1000 رکورد داریم که همه هم عکس دارن. اونوقت فضایی که از سرور اشغال میشه، مشکلات در پشتیبان گیری و بازیابی دیتابیس، عدم امکان تغییر عکسها به سادگی و... رو درنظر بگیرین ببینید چه بلایی دارین سر سایت میارین.
هر چیزی رو برای کار خاصی ساختن. دیتابیس رو هم برای اینکه توش عکس ذخیره کنید طراحی نکردن. فرض کنید بخواین عکس یک کاربر رو عوض کنید. اگه توی فایل باشه، کافیه فایل جدید رو جایگزین قبلی کنید ولی در دیتابیس، باید سطر موردنظر بازنویسی بشه که هم سرعت کمتری داره و هم اینکه نمیتونید از عکسها بدون بقیه اطلاعات دیتابیس پشتیبان بگیرین.
حالا با تمام این توضیحات، خود دانید. من که دیگه خسته شدم از بس این موضوع رو توضیح دادم.

Veteran
پنج شنبه 09 آبان 1392, 20:37 عصر
من که دیگه خسته شدم از بس این موضوع رو توضیح دادم.
به نظرم
یک تاپیک بزنید و اعلان کنید مثلا به اسم "سناریو های اشتباه و راه حل های انها"
سوالاتی که میبینید به این شکل هست رو توی اون ثبت کنید با راه حل مناسب

telnet
پنج شنبه 09 آبان 1392, 20:40 عصر
مرسی از توصیه ای که کردین ولی متاسفانه استاد این درس این رو خواسته ،این پیشنهادی که شما دادی چطوریه میشه یه مثال ساده یا فایلی بدین خودم نگاه کنم ممنون میشم ببخشید .

telnet
جمعه 10 آبان 1392, 11:25 صبح
هیچ کس نمی تونه کمکی به من بکنه ؟ آیا؟:افسرده:

sohail0098
جمعه 10 آبان 1392, 14:15 عصر
سلام داداشی
به نظر من بعد از اینکه عکسات رو آپلود کردی،مسیرونام عکس رو بریز تو دیتا بیس
بعد اون میر رو از دیتا بیس بخون برار تو المنت ایمیج

p30online
جمعه 10 آبان 1392, 14:42 عصر
یه سری به این تاپیک بزن پست های آخری بدردت می خوره!
توصیه های آقای شهرکی هم در نظر بگیر .از من جواب می ده ولی سرعت لود می یاد پائین وقتی عکس زیاد می ریزم!

http://barnamenevis.org/showthread.php?412067-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%B9%DA%A9%D8%B3-%D9%87%D8%A7%DB%8C-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B4%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C

telnet
شنبه 11 آبان 1392, 20:19 عصر
سلام دوستان من این کد رو نوشتم ولی باز عکس ها رو نشون نمیده اینم کدش مشه بگید مشکل از کجاست

<?php
$con=mysql_connect("127.0.0.1","root","");
$db=mysql_select_db("jahad");
$con=mysql_set_charset("utf8");
if(!$db)
{
echo("نمی تواند به دیتابیس متصل شود");
exit;
}
else
$query=mysql_query("SELECT * FROM mahsol WHERE id='1'");
echo "<table border='1' width='95%' align='center'>";
while($row=mysql_fetch_array($query)){
echo "<tr>";
echo "<td width='25% height='25%' align='center' ><img src='img/".$row['pic']."'></td>";
echo "<td align='center'> کد:" .$row[code]."</td>";
echo "<td align='center'> شرکت:" .$row[compani]."</td>";
echo "<td align='center'>ریال" .$row[price]."</td>";
echo "<td align='center' ><img src='img/".$row['bt']."'></td>";
echo "</tr>";

}
echo "</table>";
?>

sohail0098
شنبه 11 آبان 1392, 20:35 عصر
سلام دوستان من این کد رو نوشتم ولی باز عکس ها رو نشون نمیده اینم کدش مشه بگید مشکل از کجاست

<?php
$con=mysql_connect("127.0.0.1","root","");
$db=mysql_select_db("jahad");
$con=mysql_set_charset("utf8");
if(!$db)
{
echo("نمی تواند به دیتابیس متصل شود");
exit;
}
else
$query=mysql_query("SELECT * FROM mahsol WHERE id='1'");
echo "<table border='1' width='95%' align='center'>";
while($row=mysql_fetch_array($query)){
echo "<tr>";
echo "<td width='25% height='25%' align='center' ><img src='img/".$row['pic']."'></td>";
echo "<td align='center'> کد:" .$row[code]."</td>";
echo "<td align='center'> شرکت:" .$row[compani]."</td>";
echo "<td align='center'>ریال" .$row[price]."</td>";
echo "<td align='center' ><img src='img/".$row['bt']."'></td>";
echo "</tr>";

}
echo "</table>";
?>

سلام داداشی
چون اصن به دیتا بیس کانکت نشدی
از کد زیر استفاده کن

$con_database=mysql_connect(hostname,usernamee database,password database
mysql_select_db($con_database)

telnet
یک شنبه 12 آبان 1392, 18:31 عصر
سلام چرا به دیتا بیس متصل هستش مشکل من برطرف شد تو دیتا بیس تنها باید اسم فایل و مینوشدم که من با آدرس نوشته بودم
سلام داداشی
چون اصن به دیتا بیس کانکت نشدی
از کد زیر استفاده کن

$con_database=mysql_connect(hostname,usernamee database,password database
mysql_select_db($con_database)