بسم الله الرحمن الرحيم
انا كان عندي سوال ماهي فكرة upload يعني هل هو مرتبط بقاعدة بيانات
يتم فيها تخزين الملفات او الصورة ياريت اعرف اذا كان كذلك ممكن حد يقول
لي مما تتكون القاعدة يعني الحقل هيكون من ايه نوع
بسم الله الرحمن الرحيم
انا كان عندي سوال ماهي فكرة upload يعني هل هو مرتبط بقاعدة بيانات
يتم فيها تخزين الملفات او الصورة ياريت اعرف اذا كان كذلك ممكن حد يقول
لي مما تتكون القاعدة يعني الحقل هيكون من ايه نوع
الملف حتخزنه فى مجلد عادى و مش فى قاعدة البيانات<br>المثال التالى بيسمحلك برفع ملف و حفظه على السيرفر فى المجلد folder<br><br>
<form action="upload.php" method="post" enctype='multipart/form-data' name="NewFile"> <input type='file' name='myfile' id='myfile' maxlength="30" size="28" > <input type="submit" value="upload" ><form>
upload.php <br><div dir='ltr' align="left" style='background-color:#FAFAFA;border: 1px solid;height:400px;padding:6px; white-space:nowrap; width:520px; overflow:auto;'><font face="Courier New"><font SIZE="2"><font color="#000000"><BR><font face="Courier New"><font SIZE="2"><font color="#000000"><?</font></font></font><font color="#0000A0">php<BR><BR></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><font color="#000000">$</font><B><font color="#008080">dir</font></B><font color="#0000A0"> </font><font color="#000000">=</font><font color="#0000A0"> </font><font color="#C60000">'folder/'</font><font color="#000000">;<BR></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><I><font color="#FF8040">/**</font></I><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> * getting the name of the file</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> * (e.g. happy_man.jpg )</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> */</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><font color="#000000">$</font><font color="#0000A0">filename </font><font color="#000000">=</font><font color="#0000A0"> </font><B><font color="#008080">basename</font></B><font color="#000000">($</font><font color="#0000A0">_FILES</font><font color="#000000">[</font><font color="#C60000">'myfile'</font><font color="#000000">][</font><font color="#C60000">'name'</font><font color="#000000">]);<BR><BR><BR><BR><BR></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><I><font color="#FF8040">/**</font></I><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> * (e.g. folder/happy_man.jpg )</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> */</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><font color="#000000">$</font><font color="#0000A0">uploadfile </font><font color="#000000">=</font><font color="#0000A0"> </font><font color="#000000">$</font><B><font color="#008080">dir</font></B><font color="#0000A0"> </font><font color="#000000">.</font><font color="#0000A0"> </font><font color="#000000">$</font><font color="#0000A0">filename</font><font color="#000000">;<BR><BR><BR></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><I><font color="#FF8040">/**</font></I><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> * moving the uploaded file from the temp directory</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> * to our choosen path ( $uploadfile )</font></I></font></font><BR><font face="Courier New"><font SIZE="2"><I><font color="#FF8040"> */<BR></font></I></font></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><B><font color="#008080">move_uploaded_file</font></B><font color="#000000">($</font><font color="#0000A0">_FILES</font><font color="#000000">[</font><font color="#C60000">'myfile'</font><font color="#000000">][</font><font color="#C60000">'tmp_name'</font><font color="#000000">],</font><font color="#0000A0"> </font><font color="#000000">$</font><font color="#0000A0">uploadfile</font><font color="#000000">);<BR><BR><BR></font><BR><font face="Courier New"><font SIZE="2"><font color="#0000A0"> </font></font></font><I><font color="#FF8040"># Done !<BR></font></I><BR><font face="Courier New"><font SIZE="2"><font color="#000000">?></font></font></font></font></font></font></font></div>
تم تعديل هذه المشاركة بواسطة shreef في 27 فبراير 2006 في 16:09
السلام عليكم ..
اقتباسالملف حتخزنه فى مجلد عادى و مش فى قاعدة البياناتالمثال التالى بيسمحلك برفع ملف و حفظه على السيرفر فى المجلد folder
الكلام صحيح ميلون فى المية لكن ممكن تخزن الصور فى قواعد البيانات مع العلم أنها بتسبب بطئ فى التحميل و ضغط عالى على سيرفر قواعد البيانات لكن ديه طريقة و موجودة و طريقتها سهلة أوى .
أولا : نعمل جدول فى الــ Mysql .
CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50) );
و فى الصفحة اللى الاسكربيت حياخد الاكشن منها
// code that will be executed if the form has been submitted:
if ($submit) {
// connect to the database
// (you may have to adjust the hostname,username or password)
[CODE] MYSQL_CONNECT("localhost","root","password");
mysql_select_db("binary_data");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
print "<p>This file has the following Database ID: <b>$id</b>";
MYSQL_CLOSE();
}و أما سكربيت عرض الصورة فهو بسيط برضه :
<?php
if($id) {
// you may have to modify login information for your database server:
@MYSQL_CONNECT("localhost","root","password");
@mysql_select_db("binary_data");
$query = "select bin_data,filetype from binary_data where id=$id";
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0,"bin_data");
$type = @MYSQL_RESULT($result,0,"filetype");
Header( "Content-type: $type");
echo $data;
};
?>Life is not the amount of breaths you take, it's the moments that take your breath away
مشكور علي الرد
انا الصراحة شايفة اني اجارب 2 سوي
جاري المحاولة
شكراً جزيلاً لك أخي الفاظل
جزاكم الله كل خير
ووفقكم الله في اعمالكم
على هذا الشرح الرائع
اريد ان استفسر عن هذا الجزء من كود الفورم .. ماذا يقصد به ؟؟
enctype='multipart/form-data'
ولماذا خاصية الـname للفورم طالما لم نستخدمه ؟؟؟
تم تعديل هذه المشاركة بواسطة سلمان الطبي في 30 يناير 2007 في 12:42
بسم الله الرحمن الرحيم
هذا الكود اخي الفاضل كي يعلم السيرفر ان البيانات التي سوف ترسلها من الفورم ليست داتا فقط و لكن ايضا ملفات
اي انك تحدد نوع البيانات التي سيتم ارسالها الي السيرفر
و السلام
حكمتي الدائمة.....................................................
ان ما عند الله لا يطلب الا بطاعته
.....................................................................
?who is Ingm
Name: Hasan Adel Hasan
Education: BCs in IS from Faculty of computers & information systems
Mansoura University- 2003
E-mail: hsn_3004@yahoo.com
هذا الموضوع مغلق.