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

مساعدة في رفع ملف على حقلين

بدأه man in dark في 10 يناير 2010 · 5 رد · 517 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني رفع ملف على حقلين مثال لدي ملف txt يحتوي على

9999 2121

4215 3369

5455 5455

4444 5555

9995 4411

يكون بين الرقمين مسافة اريد وضع الرقم الاول في حقل و الرقم الثاني بجانبة في حقل آخر

يعني لدي حقل nu1 وحقل nu2 بيحث يحتوي الحقلين على

nu2 nu1

9999 2121

4215 3369

5455 5455

4444 5555

9995 4411

لقد سويت كود و لكن يرفع كل صف في حقل واحد كيف اعدل على الكود

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test2");
if($_FILES['filedata']['tmp_name'])
{
$tmpName  = $_FILES['filedata']['tmp_name'];
$fo = fopen($tmpName,"r");
  while(! feof($fo)){
     $nu1= fgets($fo);
   $result = mysql_query("INSERT INTO `fo1` VALUES ('$nu1')");}
if($result)
{echo "ok";
}else{
echo "erro";
}
   }
?>
#2

انت لم تقم بالتفريق بين الرقمين:

ها هو الكود الصحيح:

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test2");
if($_FILES['filedata']['tmp_name'])
{

$tmpName  = $_FILES['filedata']['tmp_name'];
$fo = fopen($tmpName,"r");
  while(! feof($fo))
  {
     $nu_ar = explode(" ", trim(fgets($fo)));
     if($nu_ar[0] && $nu_ar[1])
     {
        $result = mysql_query("INSERT INTO `fo1`,`fo2` VALUES ('".$nu_ar[0]."', '".$nu_ar[1]."')");
     }

  }
if($result)
{echo "ok";
}else{
echo "erro";
}
   }
?>

هنا انا قمت بعمل كسر للسطر بالمسافة من خلال explode

ولله التوفيق

#3

الف شكر اخي القادرى الكود 100%

بس سؤال اخير اذا كان يوجد اكثر من مسافة مثال :...............

9999 2121
4215              3369
5455       5455
4444                           5555
9995      4411

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

تم تعديل هذه المشاركة بواسطة man in dark في 12 يناير 2010 في 21:24

#4

اتفضل اخى ولله التوفيق

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test2");
if($_FILES['filedata']['tmp_name'])
{
$tmpName = $_FILES['filedata']['tmp_name'];
$fo = fopen($tmpName,"r");
 while(! feof($fo))
 {
 	$nu_ar = explode(" ", trim(fgets($fo)));
 	$_found = 0;
 	foreach($nu_ar as $nu)
 	{
 	if($nu)
 	{
 	$num[$_found] = $nu;
 	$_found++;
 	}
 	if($_found >= 2)
 	{
 	break;
 	}
 	}
 if($num[0] && $num[1])
 {
 	$result = mysql_query("INSERT INTO `fo1`,`fo2` VALUES ('".$num[0]."', '".$num[1]."')");
 }

 }
if($result)
{echo "ok";
}else{
echo "erro";
}
 }
?>
#5

الف الف شكر اخي القادرى

وجزاك الله الف خير

#6

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

<?php

mysql_connect("localhost", "root", "");

mysql_select_db("test2");

if($_FILES['filedata']['tmp_name'])

{

$tmpName = $_FILES['filedata']['tmp_name'];

$fo = fopen($tmpName,"r");

while(! feof($fo))

{

$string=trim(fgets($fo));

$pattern="/[0-9]{4} +[0-9]{4}/";

preg_match($pattern, $string, $out,PREG_OFFSET_CAPTURE);

$nu_ar = explode(" ", $out);

if($nu_ar[0] && $nu_ar[1])

{

$result = mysql_query("INSERT INTO `fo1`,`fo2` VALUES ('".$nu_ar[0]."', '".$nu_ar[1]."')");

}

}

if($result)

{echo "ok";

}else{

echo "erro";

}

}

?>

cert.gif

___________________

فليتك تحلو والحياة مريرة - وليتك ترضى والأنام غضـــاب

وليت الذي بيني وبينك عامر - وبيني وبين العالمين خـراب

اذا صح منك الود فالكل هين - وكل الذي فوق التراب تـــراب

____________________

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

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

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

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

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

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