PDA

View Full Version : مشکل در ذخیره و نمایش عکس



mohammadreza0123
سه شنبه 28 مرداد 1393, 14:33 عصر
سلام
یه مشکل مسخره دارم

میخوام عکسو در دیتابیس ذخیره کنم

میدونم لینک هم میشه اما من فعلا عکس رو میخوام ذخیره کنم


در صفحه ای که فرمم هست کد ها به صورت زیر هست:





<form method="post" action="" enctype="multipart/form-data" onsubmit="return checkinput(txt_product_name.value,catid.value,txt_ gheimat.value)">

<table border="0">

<tr>
<td>عکس محصول:</td>
<td dir="rtl"><input name="pic" id="pic" type="file" /></td>
</tr>

</table>







تا اینجا قسمتی از فرممه که قراره عکس رو بگیره.این فرمم به جایی ارجاع پیدا نمیکنه و به همین صفحه ای که الان هستم میاد.یه جوری رفرش میشه.
من در بالا همین صفحه کد های زیر رو زدم که زمانی که رفرش داره میشه اول کد رو اجرا کنه بعد اجرا بشه

کد :



<?php

include '../../config.php';
include '../../function/funcs.php';
if(isset($_POST['txt_product_name']))
{
$s=$_FILES['pic']['size'];
$t=$_FILES['pic']['type'];
$n=$_FILES['pic']['tmp_name'];

$fp=fopen($n,'r');

$pic=fread($fp,filesize($n));


$q=sprintf("INSERT INTO `shopdb`.`tblproducts` (
`catid` ,
`name` ,
`gheimat` ,
`pic` ,
`tozihat` ,
`emtiaz`
)
VALUES ( '%s', '%s', '%s', 0x%s, '%s', '0'
);",$_POST['catid'],$_POST['txt_product_name'],$_POST['txt_gheimat'],bin2hex($pic),$_POST

['txt_tozihat']);

mysql_query($q);



}


?>





این کد برای این بود وقتی رفرش شد عکسمو به صورت باینری وارد جدول کنه
ستونه جدول من از نوع blob هست


اون قسمت که از کد اولی که صفحه pic.php رفت . کد صفحه pic.php

:




<?php

include '../../config.php';

$id=intval($_GET["id"]);
if(isset($id))
{
$query="select * from tblproducts where productid='$id'";
$result=mysql_query($query);

$rows=mysql_fetch_array($result);
if(mysql_num_rows($result)==1)
{

exit($rows["pic"]);
}



}



?>



که برای نمایش عکس نوشتم در همون ستون

اگه میشه زودی کمکم کنید

خیلی عجله دارم

mohammadreza0123
سه شنبه 28 مرداد 1393, 14:42 عصر
اینم جایی از جدولم که باید دیده بشه عکس





<td><img src='pic.php?id=<?php $rows['productid'];?>' width=100 height=100/></td>



اما وقتی اجرا میکنم

1- اگر عکس را وارد نکنم خطای زیر رو میده

Warning: fread(): supplied argument is not a valid stream resource in C:\wamp\www\shop\adminPanel\product\index.php on line 20

و خط 20 من کد زیر هست


$pic=fread($fp,filesize($n));



2- عکس رو وارد هم میکنم اون عکس نشون داده نمیشه در جایی که باید نمایش داده بشه

عکسا به صورت زیر هست

122443

خواهشا زودی کمک کنید منو

Mohammadsgh
سه شنبه 28 مرداد 1393, 14:57 عصر
ذخیره عکس توی دیتابیس کار درستی نیست
شما میتونی نام فایل عکس رو توی یه فیلد جدول قرار بدید و برای نمایشش میتونید توی لینک عکستون نام عکس که توی فیلد هست رو بزارید به همین آسونی:لبخندساده: