الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن اعرف فكرة upload

مغلق
بدأه farooq في 26 فبراير 2006 · 6 رد · 2,565 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

انا كان عندي سوال ماهي فكرة upload يعني هل هو مرتبط بقاعدة بيانات

يتم فيها تخزين الملفات او الصورة ياريت اعرف اذا كان كذلك ممكن حد يقول

لي مما تتكون القاعدة يعني الحقل هيكون من ايه نوع

#2

الملف حتخزنه فى مجلد عادى و مش فى قاعدة البيانات<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

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#3

السلام عليكم ..

اقتباس
الملف حتخزنه فى مجلد عادى و مش فى قاعدة البيانات

المثال التالى بيسمحلك برفع ملف و حفظه على السيرفر فى المجلد 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

#4

مشكور علي الرد

انا الصراحة شايفة اني اجارب 2 سوي

جاري المحاولة

#5

شكراً جزيلاً لك أخي الفاظل

#6

جزاكم الله كل خير

ووفقكم الله في اعمالكم

على هذا الشرح الرائع

اريد ان استفسر عن هذا الجزء من كود الفورم .. ماذا يقصد به ؟؟

enctype='multipart/form-data'

ولماذا خاصية الـname للفورم طالما لم نستخدمه ؟؟؟

تم تعديل هذه المشاركة بواسطة سلمان الطبي في 30 يناير 2007 في 12:42

#7

بسم الله الرحمن الرحيم

هذا الكود اخي الفاضل كي يعلم السيرفر ان البيانات التي سوف ترسلها من الفورم ليست داتا فقط و لكن ايضا ملفات

اي انك تحدد نوع البيانات التي سيتم ارسالها الي السيرفر

و السلام

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?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

هذا الموضوع مغلق.

مواضيع مشابهة