PDA

View Full Version : سوال: ویرایش قسمتی بخصوص از یک فایل با نام خاص



owrang
شنبه 22 خرداد 1389, 17:40 عصر
سلام دوستان؛
آیا راهی میشناسید که با کمک PHP بتوان یک فایل با نام مثلا owrang.conf را ویرایش کرد ؟ هدف از این ویرایش، انتخاب قسمت های بخصوصی از این فایل است، مثلا آدرس های زیر :
سطر اول، از کاراکتر دوم تا دهم
سطر دوم، از کاراکتر دهم تا بیست و پنجم
سطر بیست و دوم، از کاراکتر هشتم تا انتها

owrang
شنبه 22 خرداد 1389, 17:43 عصر
ببخشید، یه نکته رو فراموش کردم؛ میخوام اون قسمت هایی که قراره ویرایش بشن، پیش از ویرایش نیز نمایش داده بشن . ممنون.


لینک های قبلی و سوالات قبلی دوستای دیگه رو هم خوندم؛ اما همه دنبال ویرایشگر بودن، نه ویرایشگر فایل بصورتی که من میخواستم
بازم ممنونم.

امیـرحسین
شنبه 22 خرداد 1389, 18:56 عصر
تابع file، فایل رو براساس خطها به آرایه تبدیل می کنه یعنی خط اول فایل به عنوان عنصر اول، خط دوم به عنوان عنصر دوم و الی آخر. با این روش می تونید خیلی سریع خط موردنظرتون رو پیدا کنید و توسط تابع substring و مشابهش، بین کاراکترها حرکت کنید.
وقتی مقدار مورد نظر رو پیدا کردید، می تونید نمایش بدید، تغییرش بدید.

narsic
یک شنبه 23 خرداد 1389, 13:07 عصر
با سلام
در تکمیل صحبت امیر حسین برای پیدا کردن یک مقدار خاص هم میتونید از تابع strpos یا توابع مشابه استفاده نمایید که نقطه شروع متن جستجو شده را بر میگردانند .
موفق باشید

owrang
دوشنبه 24 خرداد 1389, 20:44 عصر
با سلام
در تکمیل صحبت امیر حسین برای پیدا کردن یک مقدار خاص هم میتونید از تابع strpos یا توابع مشابه استفاده نمایید که نقطه شروع متن جستجو شده را بر میگردانند .
موفق باشید


ممنونم، اما آیا میشه بیشتر راهنمایی کنید ؟ مشکل من اینه که نمیدونم چطور باید اون فایل رو ویرایش کنم یا جزء مورد نظر رو بیارم تو text box

narsic
سه شنبه 25 خرداد 1389, 10:34 صبح
ممنونم، اما آیا میشه بیشتر راهنمایی کنید ؟ مشکل من اینه که نمیدونم چطور باید اون فایل رو ویرایش کنم یا جزء مورد نظر رو بیارم تو text box
دوست عزیز شما کد نویسیتون رو شروع کنید نهایتا هر کجا به مشکل برخوردید بپرسید پاسخ میدیم .
برای شروع هم از پست امیر حسین استفاده کن .
موفق باشید

owrang
پنج شنبه 27 خرداد 1389, 17:47 عصر
میشه یه راهنمای پله پله بهم نشون بدین ؟

ABDOLHAMID(R@iny)
پنج شنبه 27 خرداد 1389, 19:32 عصر
تابع file رو اول ببینید چی کار میکنه. یه چند تا سمپل توی گوگل نگاه کنید. تابع های کار با رشته رو هم ببینید و باهاشون کار کنید! فکر نمیکنم دیگه مشکلی باشه:لبخندساده:

owrang
پنج شنبه 27 خرداد 1389, 20:01 عصر
تورو خدا اینقده اذیتم نکنین.... یکی یه راه حل بده لطفا

ABDOLHAMID(R@iny)
پنج شنبه 27 خرداد 1389, 23:16 عصر
یکم تلاش بد نیست:بوس:
این کد رو نگاه کنید:

<?php
$lines = file('file.txt');

$sub = substr($lines[0], 2, 8);

$length = strlen($lines[3];
$length2 = 5;
$length3 = $length - $length2;
$sub2 = substr($lines[3], $length2, $length3);

echo $sub;
echo $sub2;
echo $lines[2];
?>

اول فایل با تابع فایل خونده میشه و هر خطش یه عنصر از آرایه میشه. یعنی خط یک میشه $lines[0]
خط بعد: از کارکتر شماره 2، 8 تا کارکتر از خط اول رو میریزه توی $sub (شماره اولین کارکتر 0 هست)
خط بعد: طول خط چهارم فایل بدست میاد.
خط بعد: شروع جایی هست که میخوای از خط بخونی.
خط بعد: مقدار باقیمانده از تعداد کارکتر ها است.
(دو خطر قبل رو برای این نوشتیم که فایل از فلان کارکتر تا آخر رشته رو بخونه. الته این فعلا شروع و پایانش بود!)
خط بعد: میگه از کارکتر $length2، $length3 تا کارکتر برگردون.

خط های بعدی هم که دیگه معلومه!

ABDOLHAMID(R@iny)
پنج شنبه 27 خرداد 1389, 23:25 عصر
شرمنده یکم بد توضیح دادم. وقت ندارم دیگه! همین کدها رو باهاش یه فایل درست کنید و فایل file.txt رو هم درست کنید توش 5 6 خط بنویسید و بذاریدش کنار فایل php که ساختین و نتیجه رو مشاهده کنید. فکر کنم دیگه مشکلی نداشته باشین.

owrang
جمعه 28 خرداد 1389, 13:45 عصر
ممنون جناب عبدالحمید (درست نوشتم آیا ؟)

باور کنید اینقده مشغله برام پیش اومده که نمیرسم به همه کارا... به همین خاطر مجبور شدم به شما زحمت بدم.

تست میکنم ببینم چی میشه.
ممنونم.

owrang
جمعه 28 خرداد 1389, 13:49 عصر
یکم تلاش بد نیست:بوس:
این کد رو نگاه کنید:

<?php
$lines = file('file.txt');

$sub = substr($lines[0], 2, 8);

$length = strlen($lines[3];
$length2 = 5;
$length3 = $length - $length2;
$sub2 = substr($lines[3], $length2, $length3);

echo $sub;
echo $sub2;
echo $lines[2];
?>اول فایل با تابع فایل خونده میشه و هر خطش یه عنصر از آرایه میشه. یعنی خط یک میشه $lines[0]
خط بعد: از کارکتر شماره 2، 8 تا کارکتر از خط اول رو میریزه توی $sub (شماره اولین کارکتر 0 هست)
خط بعد: طول خط چهارم فایل بدست میاد.
خط بعد: شروع جایی هست که میخوای از خط بخونی.
خط بعد: مقدار باقیمانده از تعداد کارکتر ها است.
(دو خطر قبل رو برای این نوشتیم که فایل از فلان کارکتر تا آخر رشته رو بخونه. الته این فعلا شروع و پایانش بود!)
خط بعد: میگه از کارکتر $length2، $length3 تا کارکتر برگردون.

خط های بعدی هم که دیگه معلومه!

سلام دوباره،
خوب من تونستم از این استفاده کنم
خیلی خوب هم جواب میدهد
حالا چطور باید آن را در یک تکست باکس نمایش دهم ؟
خودم درحال جستجو در این مورد هستم

id1385
جمعه 28 خرداد 1389, 21:21 عصر
با سلام
اگه میخوای همه چیز بصورت داینامیک ساخته بشه می تونی به این صورت تکست باکس خودت رو بسازی



echo '<input size="17" name="q" value="'.$sub.'">';


بعد موقع ذخیره هم می تونی محتویات اون رو بخونی که با اسم q هستش و اونو جایگزین رشته قبلی توی دیتابیست بشه.



$post=$_Get["q"];
echo $post;


موفق باشید.

owrang
شنبه 29 خرداد 1389, 09:46 صبح
سلام؛
ممنون از پاسختون، کارم روی فایل هست نه دیتابیس.
ممنون از جوابتون .

owrang
شنبه 29 خرداد 1389, 09:51 صبح
مقادیر خروجی رو چطور باید در textbox نمایش داد ؟
من اینطوری وارد میکنم نمیشه :

<input name="textfield" type="text" value="'.$lines.'" />
<input name="textfield" type="text" value="'.$lines.'" />
<input name="textfield" type="text" value="'$lines[3]'" />
<input name="textfield" type="text" value=".$lines." />

هیچکدوم خروجی نمیده، همه میرن همون متن قسمت Value رو میارن.

owrang
شنبه 29 خرداد 1389, 18:55 عصر
توروخدا کمکم کنین....

owrang
شنبه 29 خرداد 1389, 19:59 عصر
با این روش تونستم فایل متنی مورد نظر رو با محتویات چند تکست باکس بنویسم :
http://www.devarticles.com/c/a/PHP/Working-With-Text-Files-in-PHP/3/

خوب، چطور میتونم مقادیر رو از یهجا بخونم و همونجا هم بنویسم ؟

owrang
چهارشنبه 02 تیر 1389, 18:38 عصر
یکی راهنماییم کنه . . .