ذخیره آدرس فایل آپلود شده در db

qwerty2010

New Member
با سلام
من یه کد نوشتم که خبر رو با گرفتن زمان از سیستم کاربر وارد DB میکنه ولی نمیدونم به چه صورت آدرس فایل تصویر خبر رو تو DB ذخیره کنم خبر وارد DB میشه اما ادرس خبر تو DB نمیره، چون به صورت فایل هست ، دراينجا به جاي $picne = $_POST['picne']; چه چيزي رو بايد بنويسم؟




PHP:
$tree=jdate('l, j F Y');

$datene =$tree;
$titlene = $_POST['titlene'];
$picne = $_POST['picne'];
$explainne = $_POST['explainne'];

if (strlen($titlene) == 0 or strlen($explainne) == 0 )
{ 
echo "لطفا تمام فیلدها را کامل کنید.";
exit;
}
//connet to MySQL server
if (!$db_conn = mysql_connect("localhost", "root", ""))
if(!$db)
{
echo " Error : cannot open connection.";
exit;
}
mysql_select_db('chemgr');
mysql_query("SET NAMES utf8"); 
mysql_query("SET CHARACTER_SET utf8"); 
$query = " insert into chemne 
(titlene,datene,explainne,picne) values
('".$titlene."' , '". $datene."', '".$explainne."','".$picne."' )";
$result = mysql_query($query);
if($result)
echo '<b> خبر مربوطه وارد شده است</b>'
 

scup

Member
همیشه کد هارو داخل تگ مخصوص بزار تا خوانا باشه
PHP:
$tree=jdate('l, j F Y');

$datene =$tree;
$titlene = $_POST['titlene'];
$picne = $_POST['picne'];
$explainne = $_POST['explainne'];

if (strlen($titlene) == 0 or strlen($explainne) == 0 )
{ 
echo "لطفا تمام فیلدها را کامل کنید.";
exit;
}
//connet to MySQL server
if (!$db_conn = mysql_connect("localhost", "root", ""))
if(!$db)
{
echo " Error : cannot open connection.";
exit;
}
mysql_select_db('chemgr');
mysql_query("SET NAMES utf8"); 
mysql_query("SET CHARACTER_SET utf8"); 
$query = " insert into chemne 
(titlene,datene,explainne,picne) values
('".$titlene."' , '". $datene."', '".$explainne."','".$picne."' )";
$result = mysql_query($query);
if($result)
echo '<b> خبر مربوطه وارد شده است</b>'
 

qwerty2010

New Member
ببخشيد Scup جان، خطاي برناممو ميخواستم ؟ شما كه همون كد منو نوشتيد!
 

qwerty2010

New Member
این کدی که نوشتی زمان رو از سرور میگیره نه از سیستم کاربر :wink:
بعدشم من اینو نفهمیدم
بیشتر توضیح بده .
ممنونم از دقتت Masoud1365 جان، كاملا درسته از سرور ميگيره .
منظورم اينه كه آدرس عكس تو DB نميره .سه تا فيلد هست ، موضوع و متن و عكس خبر .

PHP:
$datene=jdate('l, j F Y');
$titlene = $_POST['titlene'];  
$explainne = $_POST['explainne'];
//********************UPload*****************************
$file_dir = "images";
foreach($_FILES as $file_name => $file_array)
 {
     echo "<b>path: ".$file_array['tmp_name']."<br>\n";
     echo "name: ".$file_array['name']."<br>\n";
            if (is_uploaded_file($file_array['tmp_name'])) 
    {
         move_uploaded_file($file_array['tmp_name'], "$file_dir/$file_array[name]");
            
   }
   
}
if (strlen($titlene) == 0 or strlen($explainne) == 0)
{ 
echo "لطفا تمام فیلدها را کامل کنید.";
exit;
}
//connet to MySQL server
include 'connection.php';
mysql_query("SET NAMES utf8"); 
mysql_query("SET CHARACTER_SET utf8"); 
$query =" insert into chemne 
(titlene,datene,explainne,picne) values
('".$titlene."' , '". $datene."', '".$explainne."', '".$picne."' )";
$result = mysql_query($query);
if($result)
echo '<b> خبر مربوطه وارد شده است</b>'; 
?>
</body>
</html>
فايل عكس خبر تو پوشه images آپلود ميشه ولي نمي دونم چه جوري آدرس عكس رو تو DB ذخيره كنم و بعد با Paging نمايش بدم.



نمايش تصوير خبر :
PHP:
  echo 'تصوير  خبر :  '.$row['picne'].'<br>'.'<br>' ;
اگه ممكنه اين دوتا مشكل منو حل كنيد
با كمــــــــــــــال تشكر
-----------------------------------------
لطفا کدها رو در تگ PHP قرار بدید تا قابل خوندن باشه

Shahkey.com
 

mohan21

Member
خوب آدرس فایل در پوشه Image رو دیگه ....

مثلاً تصویری با نام x.jpg در مسیر زیر قرار میگیره ...

image/1388/x.jpg

این آدرس تصویر شماست ... همین رو در بانک ذخیره کنید ...........
 

hamzeh_myp30

New Member
سلام
از این استفاده کن
PHP:
$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);
 
$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'images/';


اون دو متغییر اول رو بهم بچسبون(برای استفاده عکس از مکانی خارج از سایت خودت!یعنی اینکه آدرس با //:http ذخیره میشود)


PHP:
$dir=$directory_self.$uploadsDirectory

و در غیر اینصورت متغیر دوم کافی میباشد
و برای اضافه کردن به دیتابیس از این استفاده کن(در قسمت insert )

PHP:
$dir.$_FILES[$fieldname]['name]
fieldname$ برابر با نام فیلد مربوط به ارسال فایل عکس میبشد که دراینجا :
PHP:
$fieldname=$_POST['picne'];
 
آخرین ویرایش:

qwerty2010

New Member
عنوان خبـــر : برگزاري كلاس مربيگري آمادگي جسماني درجه 3

تاريخ درج خبر : سه شنبه, 27 بهمن 1388

شــــرح خبر :
كلاس مربيگري آمادگي جسماني درجه 3 (برادران) در تاريخ 30/9/1388 لغايت 4/10/1388 به مدت 5 روز و به مدرسي آفاي دكتر شجاعي در مجموعه ورزشي شمال برگزار گرديد. كلاس فوق با حضور 35 نفر از دانشجويان دانشگاه شمال ، مازندران ، آزاد ساری ، پيام نور و شرکت کنندگان آزاد برگزار گرديد.


عكس : http://www...com/ch6/sher.txt

echo 'عنوان خبـــر : '.$row['titlene'].'<br>'.'<br>' ;
echo 'تاريخ درج خبر : '.$row['datene'].'<br>'.'<br>' ;
echo 'شــــرح خبر : '.$row['explainne'].'<br>'.'<br>' ;​

echo 'عكس : '.$row['picne'].'<br>'.'<br>' ;
اين خطش مشكل داره فقط آدرس ميده چه كاري انجام بدم تا خود عكس بياد؟
 

ziXet

مدیر انجمن PHP/MYSQL
عنوان خبـــر : برگزاري كلاس مربيگري آمادگي جسماني درجه 3

تاريخ درج خبر : سه شنبه, 27 بهمن 1388

شــــرح خبر :
كلاس مربيگري آمادگي جسماني درجه 3 (برادران) در تاريخ 30/9/1388 لغايت 4/10/1388 به مدت 5 روز و به مدرسي آفاي دكتر شجاعي در مجموعه ورزشي شمال برگزار گرديد. كلاس فوق با حضور 35 نفر از دانشجويان دانشگاه شمال ، مازندران ، آزاد ساری ، پيام نور و شرکت کنندگان آزاد برگزار گرديد.


عكس : http://www...com/ch6/sher.txt

echo 'عنوان خبـــر : '.$row['titlene'].'<br>'.'<br>' ;
echo 'تاريخ درج خبر : '.$row['datene'].'<br>'.'<br>' ;
echo 'شــــرح خبر : '.$row['explainne'].'<br>'.'<br>' ;​

echo 'عكس : '.$row['picne'].'<br>'.'<br>' ;
اين خطش مشكل داره فقط آدرس ميده چه كاري انجام بدم تا خود عكس بياد؟
بیاد این آدرس رو تو تگ img بذاری

PHP:
<img src="---address---"/>
 

qwerty2010

New Member
متشكرم دوست عزيز.
براي زماني كه فيلد عكس خالي هست ، برا ي اينكه چيزي نشون نده قبل از echo بايد از If استفاده كنم يا راه حل ديگه اي وجود داره؟

كد نمايش رو هم ميزارم براي دوستاني كه در اين زمينه اشكال دارن:)
PHP:
        echo ' '.'<img src='.$row['photo'].'> ' .'<br>'.'<br>' ;
 

qwerty2010

New Member
دقیقاً ....

باید از If استفاده کنید ....


ممنونم ازتاييدت موهان جان

من به صورت ثابت 2 تا textbox گرفتم كه در تا عكس خبر رو بتونم باهاش upload كنم ممكنه يه خبري فقط يه عكس داشته باشه از دستور If استفاده ميكنم
PHP:
     if ($row['picne1'] == 0  )
    {
      echo ' '.'<img src='.$row['picne2'].'> ' .'<br>'.'<br>' ;
}       
 
 
     if ($row['picne2'] == 0  )
    {
      echo ' '.'<img src='.$row['picne1'].'> ' .'<br>'.'<br>' ;
}


در صـــورتيكه عكس اول null باشه عكس دوم رو نشون بده كه نشون ميده ولي به جاي عكس دوم
1266542897.bmp
اين شكل مي اد يعني اينكه فايلي نيست بايد يه جوري بگم فيلد دوم كه خالي هست رو نشون نده ولي هركارميكنم با if ها بازي ميكنم نميشه شما راه حلي براي اين مشكل داريد؟
 
آخرین ویرایش:

qwerty2010

New Member
آيا كسي راه حلي داره تا بتونم تعداد فايل شده آپلودشده رو به صورت دايناميكي بزارم( قبلا تو دات نت من panel استفاده ميكرديم ) تو PHP چه راهي وجود داره ؟
ممنون ميشم از دوستان كسي جواب بده.
 

hamzeh_myp30

New Member
بله
هست
شما از if استفاده نکن!!!!!!!
از حلقه تکرار استفاده کن---شرط توقفش رو یه کوچولو ابتکار به خرج بده---
(اگه بقیه کار رو میتونی انجام بدی یعنی کلیدهایی که گفتم گرفتی صد آفرین اگر مبهم گفتم یه ندا بده همینجا کاملش رو بگم)
چون الان دارم برای یه مشاور املاک سایت میسازم زیاد وقت ندارم .
بهر حال وقت استراحت به اینترنت یه سری میزنم.

البته با if هم میشه!.
بعدا همینجا میبینمت:):rose:
 
آخرین ویرایش:

mosi20

Active Member
یه table دیگه برای تصاویرت درست کن و تصاویر هر خبر را اونجا بزار
ساختار تیبل : id خبر + آدرس تصویر
اول خبر را وارد دیتابیس میکنی و id خبر را پیدا میکنی و بعدش تصاویر را آپلود میکنی
 

جدیدترین ارسال ها

بالا