PDA

View Full Version : مبتدی: استخراج از فایل متنی (حل شد)



#Elahe#
شنبه 20 خرداد 1391, 21:49 عصر
سلام
من یه فایل نت پد دارم که میخوام اطلاعات این فایل رو استخراج و در دیتابیس (اکسس) وارد کنم

محتویات فایل نت پد تعدادی عدد هستند
مثلا به این شکل



0005402000982300035070003549


همانطور که مشخصه اعداد زیتم خاصی رو دنبال میکنند
3 تا صفر و یه عدد 4 رقمی

این اعداد 4 رقمی رو باید از فایل نت پد استخراج و در دیتابیس درج کنیم
به این صورت که دو رقم اولی در یه فیلد و دو رقم بعدیش رو در فیلد مقابل

مثلا اینطوری :



54 02
98 23
35 07
35 49

(دو رقم اولی در سمت چپ و دو رقم بعدی در سمت راست)


کدی به زبان PHP لازم دارم که بتونه این اعداد رو به این صورت از نت پد استخراج و در دیتابیس ذخیره کنه
با تشکر پیشاپیش

MMSHFE
شنبه 20 خرداد 1391, 22:07 عصر
کدی به زبان پرل لازم دارم...
توی تالار PHP ؟

رضا قربانی
شنبه 20 خرداد 1391, 22:11 عصر
الان شد php :لبخند:
خب شهرکی جون برو تو کار explode اکسپلود یا regular expresion (ریگولار اکسپرشن) ببینم چی کار می کنی :تشویق: تو میتونی

MMSHFE
شنبه 20 خرداد 1391, 22:22 عصر
نه اینجا نیازی نیست :لبخند: با substr قابل انجامه.


$str = '0005402000982300035070003549';
$count = strlen($str / 7); // 3 zeros + 4 digits
for($i = 0; $i < $count; $i++) {
$num1 = substr($str, $i * 7 + 3, 2);
$num2 = substr($str, $i * 7 + 5, 2);
mysql_query("INSERT INTO `table` (`num1`,`num2`) VALUES ('{$num1}','{$num2}')");
}

#Elahe#
یک شنبه 21 خرداد 1391, 00:18 صبح
عجب سرعتی
فکر کردم هیشکی متوجه سوتی نشده :دی

حالا اگه قرار باشه این اعداد رو از یه فایل تکست بخونیم چی ؟
یه فایل تکست که پر از این اعداده

رضا قربانی
یک شنبه 21 خرداد 1391, 01:28 صبح
فرم خودتون که داخلش تکس هست رو post کنید و در متغیر $str دریافت کن . به این صورت اطلاعات پست رو دریافت کنید :

$str = $_POST["TEST"];

MSN_Issue
یک شنبه 21 خرداد 1391, 08:26 صبح
شایدم منظورتون از خوندن از فایل تکست این باشه :


$str = file_get_contents('Address Of Text File!');

MMSHFE
یک شنبه 21 خرداد 1391, 08:50 صبح
فکر کردم هیشکی متوجه سوتی نشده
از اون بدتر عنوان تاپیکه که اصلاحش کردم. ضمناً این فایلها رو اصطلاحاً Text میگن. سندشون رو که به نام Notepad نزدن که میگین فایل نوت پد! با هر ادیتوری میشه ساختشون. ضمناً کلمه «استراخ» هم توی فارسی نداریم :چشمک: توی عنوان پاسخها میتونید عنوان قبلی رو ببینید.

حالا اگه قرار باشه این اعداد رو از یه فایل تکست بخونیم چی ؟
یه فایل تکست که پر از این اعداده دو حالت داره:
1- تمام اعداد به همین شکل و پشت سر هم توی فایل نوشته شده (توی یک خط) :


$str = file_get_contents('numbers.txt');
$count = strlen($str / 7); // 3 zeros + 4 digits
for($i = 0; $i < $count; $i++) {
$num1 = substr($str, $i * 7 + 3, 2);
$num2 = substr($str, $i * 7 + 5, 2);
mysql_query("INSERT INTO `table` (`num1`,`num2`) VALUES ('{$num1}','{$num2}')");
}

2- فایل شامل سطرهایی هست که هر سطرش حاوی اعدادی با این ساختاره :


$lines = file('numbers.txt');
foreach($lines as $str) {
$count = strlen($str / 7); // 3 zeros + 4 digits
for($i = 0; $i < $count; $i++) {
$num1 = substr($str, $i * 7 + 3, 2);
$num2 = substr($str, $i * 7 + 5, 2);
mysql_query("INSERT INTO `table` (`num1`,`num2`) VALUES ('{$num1}','{$num2}')");
}
}

موفق باشید.

#Elahe#
یک شنبه 21 خرداد 1391, 11:35 صبح
گفتم شاید تفاوتی بین استفاده از نت پد و سایر ادیتورها در کدنویسی باشه :لبخندساده:


به هرحال مثل همیشه عالی بود
متشکرم http://www.pic4ever.com/images/139fs108574.gif (ببشخید . دیگه بدون سبیلش رو پیدا نکردم :دی)