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

اريد رفع ملف Txt الى قاعدة البيانات

بدأه محمد المنصور في 17 ديسمبر 2008 · 9 رد · 1,028 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

لدي ملف txt ويوجد به ارقام و كلمات كل في سطر جديد

لقد استخدمت احد سكرببتات الرفع الموجودة بالمنتدى و نجح معي الرفع يضع كل البيانات في صف واحد

مثال ملف txt يوجد به الارقام و الاسماء بهذا الشكل

2222222222

خالد العيسى

9988888774

محمد الخالدي

وهكذا....

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

617469491.jpg

انا اريد عند الرفع يصبح هكذا

512415233.jpg

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

  1.  

  2. <?php
  3. mysql_connect("localhost", "root", "");
  4. mysql_select_db("myfile");
  5. if($_FILES['filedata']['tmp_name'])
  6. {
  7. $fileName = $_FILES['filedata']['name'];
  8. $tmpName = $_FILES['filedata']['tmp_name'];
  9. $fo = fopen($tmpName, "r");
  10. $foo = fread($fo, filesize($tmpName));
  11. $result = @mysql_query("INSERT INTO `files` VALUES ('$foo')");
  12.  
  13. if($result)
  14. {
  15. echo "file added";
  16. }
  17. else
  18. {
  19. echo "error";
  20. }
  21.  
  22. }
  23.  
  24. ?>
  25.  
  26.  

للعلم يا اخواني الكود ليس من عملي ....

اتمنى المساعدة ...

#2
  1.  
  2. mysql_connect("localhost", "root", "");
  3. mysql_select_db("myfile");
  4.  
  5. $content = explode("n",file_get_contents($_FILES['filedata']['tmp_name']));
  6.  
  7. $query = mysql_query("INSERT INTO files VALUES (".implode(',',$content).")") or die(mysql_error
    ());
  8.  
  9.  
  10.  
  11.  

السلام عليكم

تم تعديل هذه المشاركة بواسطة aziz2598 في 17 ديسمبر 2008 في 18:44

#3
 
<?php 	 	
		$fo = fopen($tmpName,"r");
  while(! feof($fo)){
	 $foo= fgets($file); 
   $result =@mysql_query("INSERT INTO `files` VALUES ('$foo')");
   }
   fclose($file);
?>

قراءة الملف سطر سطر

تم تعديل هذه المشاركة بواسطة mana80 في 17 ديسمبر 2008 في 19:33 — السبب: اضافة للكود

I Say Nothing

#4

اخي aziz2598 لقد استخدمت الكود هكذا

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("myfile");
if($_FILES['filedata']['tmp_name'])
{
$fileName = $_FILES['filedata']['name'];
$tmpName  = $_FILES['filedata']['tmp_name'];
$content = explode("n",file_get_contents($_FILES['filedata']['tmp_name']));
$query = mysql_query("INSERT INTO files VALUES (".implode(',',$foo).")") or die(mysql_error());

}

?>

ولكن يظهر الخطاء

Warning: implode() [function.implode]: Bad arguments. in c:\camel\www\test\upload.php on line 9

اخي mana80

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

هل بالامكان التعديل على الكود الي و ضعته

وشكرا لمشاركتكم

تم تعديل هذه المشاركة بواسطة محمد المنصور في 17 ديسمبر 2008 في 19:23

#5

اخي لقد تم تجربته الكود

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("myfile");
if($_FILES['filedata']['tmp_name'])
{
 $fileName = $_FILES['filedata']['name'];
 $tmpName  = $_FILES['filedata']['tmp_name'];
		$fo = fopen($tmpName,"r");
  while(! feof($fo)){
	 $foo= fgets($file);
   $result =@mysql_query("INSERT INTO `files` VALUES ('$foo')");
   }
   fclose($file);
   }
?>

ولكن ظهر الخطاء

Warning: fgets(): supplied argument is not a valid stream resource in c:\camel\www\test\upload.php on line 10
#6

ما نقلت الكود صح

ليش غيرت content الى foo؟؟

السلام عليكم

#7

اخي foo هو الحقل الذي نريد ان تخزن به البيانات

قاعدة البيانات

-- قاعدة البيانات: `myfile`
-- 

-- --------------------------------------------------------

-- 
-- بنية الجدول `files`
-- 

CREATE TABLE `files` (
  `foo` varchar(2000) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1256;

-- 
-- إرجاع أو إستيراد بيانات الجدول `files`
--

لو ممكن تعدل على الكود اخي aziz2598

#8

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

  1. <?php
  2. mysql_connect("localhost", "root", "");
  3. mysql_select_db("myfile");
  4. if($_FILES['filedata']['tmp_name'])
  5. {
  6. $fileName = $_FILES['filedata']['name'];
  7. $tmpName = $_FILES['filedata']['tmp_name'];
  8. $content = explode("n",file_get_contents($_FILES['filedata']['tmp_name']));
  9. $query = mysql_query("INSERT INTO files VALUES (".implode(',',$content).")") or die(mysql_error
    ());
  10.  
  11. }
  12.  
  13. ?>
  14.  
  15.  

تم تعديل هذه المشاركة بواسطة aziz2598 في 19 ديسمبر 2008 في 23:43

#9

اخي aziz2598 يظهر الخطاء

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'خالد العيسى 9988888774 محمد الخالدي)' at line 2
#10

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

  1.  
  2. <?php
  3.  
  4. mysql_connect("localhost", "root", "");
  5.  
  6. mysql_select_db("myfile");
  7.  
  8. if($_FILES['filedata']['tmp_name'])
  9.  
  10. {
  11.  
  12. $fileName = $_FILES['filedata']['name'];
  13.  
  14. $tmpName = $_FILES['filedata']['tmp_name'];
  15.  
  16. $content = explode("n",file_get_contents($_FILES['filedata']['tmp_name']));
  17.  
  18. $query = mysql_query("INSERT INTO files VALUES (".implode(',',$content).")") or die(mysql_error
  19. ());
  20.  
  21.  
  22.  
  23. }
  24.  
  25.  
  26. ?>
  27.  

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…