-
October 13th, 2018, 19:27
#1
عضو انجمن
تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟
سلام دوستان
من تعدادی فایل php دارم که توی همه اونه یه لینک هست. حالا میخوام لینک رو توی همه فایل ها تغییر بدم (به صورت گروهی)
مثلا هر جا لینک زیر رو ببینه:
example.com
تبدیلش کنه به
example.ir
این کار رو میشه با استفاده از ترمینال انجام داد؟
یا نرم افزار خاصی توی لینوکس یا مک وجود داره که این کار رو بتونه برام انجام بده؟
-
-
October 13th, 2018 19:27
# ADS
-
October 13th, 2018, 19:45
#2
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
سیدرضا بازیار
سلام دوستان
من تعدادی فایل php دارم که توی همه اونه یه لینک هست. حالا میخوام لینک رو توی همه فایل ها تغییر بدم (به صورت گروهی)
مثلا هر جا لینک زیر رو ببینه:
example.com
تبدیلش کنه به
example.ir
این کار رو میشه با استفاده از ترمینال انجام داد؟
یا نرم افزار خاصی توی لینوکس یا مک وجود داره که این کار رو بتونه برام انجام بده؟
سلام
اول یه بک آپ از پوشه بگیرید و بعد این دستور رو داخل پوشه امتحان کنید
کد:
sed -i 's/example.com/example.ir/g' *
ویرایش توسط Ahmad652 : October 13th, 2018 در ساعت 19:46
-
-
October 13th, 2018, 19:52
#3
عضو انجمن
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
Ahmad652
سلام
اول یه بک آپ از پوشه بگیرید و بعد این دستور رو داخل پوشه امتحان کنید
کد:
sed -i 's/example.com/example.ir/g' *
این دستور رو تست کردم جواب نداد
-
-
October 13th, 2018, 19:59
#4
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
سیدرضا بازیار
این دستور رو تست کردم جواب نداد
میتونید ویرایشگر brackets رو روی مک نصب کنید. بعد از منو file گزینه open folder رو بزنید و فولدر مورد نظر رو انتخاب کنید.
حالا از منو find گزینه replace in files رو انتخاب کنید.
-
-
October 13th, 2018, 20:03
#5
عضو انجمن
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
سیدرضا بازیار
سلام دوستان
من تعدادی فایل php دارم که توی همه اونه یه لینک هست. حالا میخوام لینک رو توی همه فایل ها تغییر بدم (به صورت گروهی)
مثلا هر جا لینک زیر رو ببینه:
example.com
تبدیلش کنه به
example.ir
این کار رو میشه با استفاده از ترمینال انجام داد؟
یا نرم افزار خاصی توی لینوکس یا مک وجود داره که این کار رو بتونه برام انجام بده؟
تمام 10 تا فایل رو با notepad++ باز کن از finde replace استفاده کن
و دکمه replace all in all opened documents رو بزنید متن انتخاب شده به متن جایگزینی که وارد کردین توی تمام صفحه هایی که باز کردین جایگزین میشه
من خودم این کار رو انجام دادم و شده
قبلش بکاپ بگیرین
باتشکر
-
-
October 13th, 2018, 20:07
#6
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
mnajafi33
تمام 10 تا فایل رو با notepad++ باز کن از finde replace استفاده کن
و دکمه replace all in all opened documents رو بزنید متن انتخاب شده به متن جایگزینی که وارد کردین توی تمام صفحه هایی که باز کردین جایگزین میشه
من خودم این کار رو انجام دادم و شده
قبلش بکاپ بگیرین
باتشکر
البته np++ فقط نسخه ویندوز داره.
لازم هم نیست کل فایلها رو باز کنند. با replace in files میشه انجام داد.
-
-
October 13th, 2018, 20:08
#7
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟

نوشته اصلی توسط
سیدرضا بازیار
این دستور رو تست کردم جواب نداد
چرا نشد؟
اگه ویندوز با Npp بزن
Find in Files
Replace in Files
-
-
October 13th, 2018, 21:11
#8
عضو انجمن
پاسخ : تغییر لینک در 10 فایل php به صورت یک جا ممکن است؟
چون از سیستم عامل مک استفاده میکنم در حال حاضر این نرم افزار هایی رو که معرفی کردید رو ندارم
یکم کنجکاو شدم و تصمیم گرفتم یه کد با php بنویسم که برام اون رو انجام بده 
کد رو میزارم شاید به دردتون بخوره
کد PHP:
<?php
$folder = 'folder';
echo '<p><b>file haye mojod</b> dar <span style="color:red">'. __DIR__ .'</span></p> ';
foreach (glob("$folder/*.php") as $filename) {
$file = file_get_contents($filename);
if( strpos( $file, 'text' ) === false ){
echo '<span style="color:red">NO: </span>';
}else{
echo '<span style="color:blue">YES: </span>';
}
echo $filename.'<br>';
if (file_put_contents($filename, preg_replace("/text/", "new text", $file))) {
} else {
echo "peyda nashod";
}
}
قبلا با ترمینال هم انجام میدادم اما یادم رفته. لطفا اگه کسی بلده، روش ترمینال رو هم بهم بگه
ویرایش توسط سیدرضا بازیار : October 13th, 2018 در ساعت 21:13
-