صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 16

الموضوع: استفسار بخصوص رفع اكثر من ملف لقاعدة البيانات

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47

    استفسار بخصوص رفع اكثر من ملف لقاعدة البيانات



    السلام عليكم ورحمة الله وبركاته


    اخواني انا عندي استفسار بسيط لمن ابي ارفع اكثر من ملف الى قاعدة البيانات بمجرد الظغط على زر رفع الملف علما بان حقل رفع الملفات يكون متغير مثلا ...


    انا عندي صفحة قبل لا تظهر صفحة رفع الملفات يكون فيها اختيار عدد الملفات التي سوف ترفع الى قاعدة البيانات فمثلا يكون عدد الملفات ثلاثه يظهر لي في صحفة رفع الملفات ثلاثة نماذج لرفع الملفات علما بانني استخدم جملة while ولكن كيف يتم رفع الملفات الى قاعدة البينات بنائا على النموذج وعدد الملفات المراد رفعها


    هذا الكود الي قمت بكتابته وهو صحيح الى ان يظهر لي عدد النماذج الخاصه برفع الملفات ولكن ما بعد ذلك لم استطع التوصل الى حل امل منكم ان تساعدوني في حل هذه المشكله


    كود PHP:
    <php?
    echo mysql_error();
    include ('../includes/config.php');
    $idss = mysql_query(" SELECT * FROM sessions order by sessionid DESC limit 1 ");

    $row = mysql_fetch_array($idss) ;

    $sessid = $row['sessionid'];
    $sessfile = $row['sessionsfiles'];


    $i=0;
    while($i<=$sessfile)
      {
    ?> <form id="form1" name="form1" enctype="multipart/form-data" method="post"  action="Default.php?do=End">
    <input name="upfilen<?php echo $i-?>" type="text" />
    <br />
      <label>
        <input type="file" name="upfilei" id="upfile<?php echo $i-?>" />
      </label>
      
    </form>
    <input name="upsess<?php echo $i-?>" type="button" value="رفع الجلسة" />

    <?
      $i
    ++ ; 
      }
      

    break;
    ?>






    التعديل الأخير تم بواسطة H2O ; 20-04-2010 الساعة 06:07 PM
    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل


  2. #2
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


    السلام عليكم ورحمه الله

    بالنسبة لكيفية عمل فورم يظهر به عدد الملفات المراد رفعها...يمكن عمل التالي
    كود:
     
    عدد الملفات المراد رفعها
    $file_no=4; 
    echo "<form method=post action=addimgck.php enctype='multipart/form-data'>";
    echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>";
    for($i=1; $i<=$file_no; $i++){
    echo "<tr><td>File $i</td><td>
    <input type=file name='myFiles[]'></td></tr>";
    }
    يجب ملاحظة الاقواس في اسم الملف myFiles[]


    بالنسبة لكيفية رفع الملفات وحفظها ...يمكن عمل التالي
    كود:
    while(list($key,$value) = each($_FILES['myFiles']['tmp_name']))
    {
     
    هنا تضع الكود المراد
     
    }
     
    او
     
    foreach($_FILES['myFiles']['tmp_name'] as $file){
    هنا تضع الكود المراد
    }

    تحياتي





    التعديل الأخير تم بواسطة بو غدير ; 20-04-2010 الساعة 10:53 PM

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    اخوي الغالي بو غدير الله يعطيك العافيه وشاكر لك تعاونك يالغالي


    بالنسبه للكود الاول طبقته وتمام التمام بس انا عندي زر submet ما رضا يتفاعل مع الفورم فحولته للنك عادي ولكن لما ينقل ع الصفحه الثانيه الخاصه باتمام عملية الرفع ما يرضى مع اني حاط الـ action ومحوله في الفورم الى الصفحه الخاصه بالرفع بس للاسف ما ينفذ الامر نهائيا ,,, ولمن عملت اللنك ينقلني لصفحة الرفع ولكن بدون ما ينفذ اي شيئ اعتقد ان عندي خطاء او اني ما فهمت الطريقه وما نفذتها بشكل صحيح لان للاسف المتغيرات ما نقلها لي للصفحه الثانيه ممكن يكون الخطاء مني في استعراض المتغيرات واستخراجها من الفورم ياليت لو تساعدني في هالشيئ واكون شاكر لك يالغالي


    تعبتك معاي ولكن اكرر شكري وتقدير لك وللجميع





    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    للرفع ......





    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  5. #5
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


    السلام عليكم اخوي H2O

    ممكن اشوف كود الفورم ونحاول نعرف شنو المشكلة؟

    تحياتي






  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    وعليكم السلام ورحمة الله ... حياك الله اخوي بو غدير ,,, واشكرك جزيل الشكر استاذي العزيز على مساعدتك ومتابعتك للموضوع ,, واعتذر عن التاخير لظرف السفر ..


    عزيزي الكريم

    هذا هو كود الفورم


    كود PHP:

    $file_no
    $sessfile ;
    echo 
    "<form method=post  enctype='multipart/form-data'>";
    echo 
    "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>";
    for(
    $i=1$i<=$file_no$i++){
    echo 
    "<tr><td>File $i</td><td>
    <br />
    <input type=text  name='myFilesn[]' />
    <input type=file name='myFiles[]'>"
    ;


      }
      echo
    "<br /><a href=?do=End>رفع المواضيع </a></td></tr></table></form>  " 
    اعتقد ان الخطاء مني واشكرك عزيزي بو غدير مقدما على مساعدتك لي





    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  7. #7
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


    السلام عليكم ورحمه الله

    مافي داعي يالغالي للاعتذار...وحنا في الخدمة

    بالنسبة للفورم...لابد من وضع خاصية الاكشن action والتي تحدد رابط الملف الذي سوف يقوم باستقبال المعلومات من الفورم والعمل عليها

    يعني لو عدلنا الكود ...راح يصير بالشكل التالي:
    كود PHP:
    echo "<form method=post action="myFile.php" enctype='multipart/form
    باقي الكود 
    قم بتغيير اسم الملف myFile.php الي اسم الملف الذي تريده

    يجب ايضا ان تستخدم زر ال submit بدلا من الرابط حتى يعمل الفورم بشكل جيد

    تحياتي





    التعديل الأخير تم بواسطة بو غدير ; 24-04-2010 الساعة 07:09 PM
    __________________
    مع تحيات بو غدير
    Zend Certified Engineer

  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    عزيزي بو غدير يالغلا

    هذا كود الفورم وللاسف ما اشتغل معاي


    كود PHP:
    <?php 
    for($i=1$i<=$file_no$i++){
    ?>

    <form id="form1"  action="?do=End" method="post" enctype="multipart/form-data" name="upform">
    <br />
    <input name='Filename[]' type="text" />
    <br />
    <input name='fileup[]' type="file" />
    <br />


     <?php ?>
    <input name=submet type=button value=a /></form>






    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  9. #9
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    عزيزي بو غدير الفورم خلاص صار شغال والحمد لله ...

    لكن المشكله عندي هالحين

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

    شلون اقدر استخرج المعلومات من الفورم علما بان الفورم متغير حسب المستخدم فمثلا مستخدم يبي يرفع 5 ملفات ومستخدم اخر يبي يرفع 10 راح يظهر الفورم حسب طلب المستخدم ولكن كيف استخرج المعلومات من الفورم لكي استطيع رفعها لقاعدة البيانات

    هذا كود الفورم

    كود PHP:

    $file_no= $sessfile ;
    ?>

    <?php 
    for($i=1$i<=$file_no$i++){
    ?>

    <form action="?do=End" method="post" enctype="multipart/form-data" name="sormup">
    <label>عنوان الموضوع</label> &nbsp;&nbsp;<input name="filename<?php echo $i ?>" type="text" /> 
    <input name="fileup<?php echo $i ?>" type="file" />
    <br />
    <?php ?>
    <input name="submet" type="submit" value="submet" /></form>






    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  10. #10
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


    السلام عليكم

    قم بتجربة الكود الذي بالاسفل

    كود PHP:
    <?php $file_no 4;?>
    <form action="upload.php?do=upload" method="post" enctype="multipart/form-data">
    <?php 
    for($i=1$i<=$file_no$i++){
    ?>
    <input name="fileup[]" type="file" /></br />
    <?php ?>
    <input name="submit" type="submit" value="رفع الملفات" />
    </form>
    الرجاء تغيير الملف upload.php الى اسم ملفك

    واي مساعده حنا حاضريين

    تحياتي





    __________________
    مع تحيات بو غدير
    Zend Certified Engineer

  11. #11
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    فديتك اخوي بو غدير مثل ما قلت يالغالي في ردي الي سبق ردك عزيزي ان الفورم الحمد لله تمام التمام شغال

    بس استفساري يالغلا هو كيف اني استخرج البيانات من الفورم لمن تكون اكثر من من متغير في الفورم


    شاكر ومقدر لك مقدما يالغلا





    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  12. #12
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


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

    في الملف اللي راح يستقبل المتغيرات راح يكون الملفات كلها في المتغير $_FILES

    طبعا في الفورم حنا سمينا متغير الملفات ب fileup ...الان عشان نجيب محتوى الملفات تقدر تعمل التالي:

    كود PHP:
    $file_no 4;
    $number 0;
     
    $uploaddir 'uploads/'
     
    while (
    $number $file_no ){
     
    // اسم الملف كاملا مع مجلد الرفع
     
    $uploadfile $uploaddir basename($_FILES ['fileup'] ['name'][$number]);
     
     if (
    move_uploaded_file $_FILES ['fileup'] ['tmp_name'][$number], $uploadfile )) {
      echo 
    "File is valid, and was successfully uploaded.\n";
     } else {
      echo 
    "Possible file upload attack!\n";
     }
     
     
    $number++;

    طبعا لازم تعرف ان هذا فقط مثال...لازم تاخذ بعين الاعتبار مخاطر رفع الملف بدون التأكد من نوع الملف والنوع وحجم الملف وغيرها قبل لا تحفظ الملف

    تحياتي





    التعديل الأخير تم بواسطة بو غدير ; 24-04-2010 الساعة 09:20 PM
    __________________
    مع تحيات بو غدير
    Zend Certified Engineer

  13. #13
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    عزيزي بو غدير الف شكر لك يالغالي ع المساعده والمتابعه

    عزيزي بعد عدد من المحاولات نجحت في استخراج البيانات المرسله من الفورم على شكل مصفوفه

    ولكن عند محاولة ادخال هذه البيانات الى قاعدة البيانات يظهر لي خطاء


    هذا الكود المستخدم


    كود PHP:

    $upno 
    mysql_query(" SELECT * FROM sessions order by sessionid DESC limit 1 ");
    $nupno mysql_fetch_array($upno) ;
    $fileupno $nupno['sessionsfiles'];
    $idoses =   $nupno ['sessionid'];
    $fileup =   $nupno['sessionsfiles'];

    for (
    $a=$a <=$fileupno $a++){
    $poa $_POST['filename'.$a];
    $poafile $_POST['fileup'.$a];
    $data implode(","file($_POST['fileup'.$a]));

    $insql mysql_query ("INSERT INTO subject ('sessionid','filename','file') VALUES ('$idoses','$poa','$data')") ; 
    يظهر لي هذا الخطاء


    كود HTML:
    Warning:  implode() [function.implode]:  Invalid arguments passed in C:\AppServ\www\admin\Default.php  on line 167
    
    Warning:  implode() [function.implode]:  Invalid arguments passed in C:\AppServ\www\admin\Default.php  on line 167






    التعديل الأخير تم بواسطة H2O ; 25-04-2010 الساعة 01:22 AM
    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل

  14. #14
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    23


    السلام عليكم

    في الاسفل مثال بسيط يوضح كيفية رفع اكثر من ملف الى قاعدة بيانات من نوع mysql

    تفاصيل الجدول المستخدم
    كود:
    CREATE TABLE IF NOT EXISTS `file` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL DEFAULT 'Untitled.txt',
      `mime` varchar(50) NOT NULL DEFAULT 'text/plain',
      `size` bigint(20) unsigned NOT NULL DEFAULT '0',
      `data` mediumblob NOT NULL,
      `created` datetime NOT NULL,
      PRIMARY KEY (`id`)
    );
    فورم رفع الملفات
    كود PHP:
     
    <?php
    $file_no 
    4;
    ?>
    <form action="upload.php?do=upload" method="post"
     enctype="multipart/form-data">
    <?php
    for($i 1$i <= $file_no$i ++) {
     
    ?>
    <input name="fileup[]" type="file" /></br />
    <?php
    }
    ?>
    <input name="submit" type="submit" value="رفع الملفات" /></form>
    السكربت الذي سوف يقوم بحفظ الملفات في قاعدة البيانات

    كود PHP:
    <?php
    // قم بالاتصال بقاعدة البيانات
    $myDb mysql_connect 'localhost''root''' );
    @
    mysql_select_db 'project'$myDb );
    // يجب علينا ان نعرف عدد الملفات التي نريد pt/ih
    $files_count count $_FILES ['fileup'] ['name'] );
    $processed_file 0;
    // قم بحفظ الملفات واحد تلو الاخر
    while ( $processed_file $files_count ) {
     
     
    // اذا كان لايوجد لدينا اسم للملف المراد تحميله فسوف نقوم بفحص الملف الذي يليه
     
    if (empty ( $_FILES ['fileup'] ['name'] [$processed_file] )) {
      
    $processed_file ++;
      continue;
     }
     
     
    // قم بجمع المعلومات الضرورية حتى نقوم بتخزينها في قاعدة باليانات
     
    $name mysql_real_escape_string $_FILES ['fileup'] ['name'] [$processed_file] );
     
    $mime mysql_real_escape_string $_FILES ['fileup'] ['type'] [$processed_file] );
     
    $data mysql_real_escape_string file_get_contents $_FILES ['fileup'] ['tmp_name'] [$processed_file] ) );
     
    $size intval $_FILES ['fileup'] ['size'] [$processed_file] );
     
     
    // قم بتنفيذ امر الحفظ
     
    $query "INSERT INTO `file`(`name`, `mime`, `size`, `data`, `created`) 
                  VALUES ( '
    {$name}', '{$mime}', {$size}, '{$data}', NOW() )";
     
     
    $result mysql_query $query );
     
     
    // قم بمعاينة النتيجة
     
    if ($result) {
      echo 
    $_FILES ['fileup'] ['name'] [$processed_file] . ' تم حفظه بنجاح';
     } else {
      echo 
    'لم يتم حفظ 
     
      الملف<pre>' 
    $_FILES ['fileup'] ['name'] [$processed_file] . '<br/>' mysql_error () . '</pre>';
     }
     
    $processed_file ++;
    }
    ?>
    احب ان اذكر انه لا يجب استخدام هذا الكود في موقعك لانه ببساطه مثال توضيحي

    ارجو ان يكون المثال سهل الفهم





    __________________
    مع تحيات بو غدير
    Zend Certified Engineer

  15. #15
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    47


    عزيزي بو غدير اشكرك كل الشكر وجزاك الله خير الجزاء ... ما قصرت يالغالي في مساعدتك لي وبيض الله وجهك ما قصرت واسال الله ان يوفقك دنيا واخره وان يرحم والدينا ووالديك وان يوسعنا واياهم والمسلمين برحمته

    عزيزي قمت بتجربة الكود الذي اعطيتني اياه ولله الحمد بعد بعض التعديلات نجح ولله الحمد ... ولكن صادفتني مشكلة عرض الملفات من قاعدة البيانات وجربت شتى الطرق وبحثت في الانترنت عن طرق وحلول ولكن للاسف دون جدوى ...


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

    كود PHP:


    $pdffile 
    mysql_query("SELECT * FROM pdffiles WHERE subid='$fid'");
        
    $result mysql_fetch_assoc($pdffile);
        
    $data $result['file'];
        
    $filename $result['title'];
        
    $filetybe $result['tybe'];
        
    $filesize $result['size'];
        @
    header('Content-Description: File Transfer');
        @
    header('(anti-spam-content-type:) application/octet-stream');
        @
    header('Content-Disposition: attachment; filename='.$filename);
        @
    header('Content-Transfer-Encoding: binary');
        @
    header('Expires: 0');
        @
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        @
    header('Pragma: public');
        @
    header('Content-Length: ' $filesize);
        
    ob_clean();
        
    flush();
        
    $cn file_get_contents($data);
        
    readfile($cn);
        
    ob_end_clean();
        exit; 


    ولكن عند اختيار الملف يظهر لي هذا الخطاء

    كود HTML:
    Warning:  file_get_contents(����) [function.file-get-contents]:  failed to open stream: No such file or directory in
    وبحثت بشتى الطرق عن حل هذه المشكله ولكن للاسف لم اتوصل الى حل


    اشكرك جزيل الشكر على ما قدمته لي من مساعده وجزاك الله خير الجزاء





    __________________
    soalasmari [at] gmail[dot] com
    سوالف سوفت
    ... نحو سوالف افضل





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض