2012-08-30

නිලන්ත පියසිරි විසින් 15:20 පැයට
3

ගොනු කිහිපයක ඇති එකම වැකියක් වෙනත් වැකියකින් ප්‍රතිස්ථාපනය කිරීම


ඔන්න මම ෆෙඩෝරා 17 ට ගොඩ වුනා කියමු කෝ. හැබැයි මගේ පරණ php ටික මේකට දාපුවහම මෙන්න සමහර ඒවා වැඩ කරන්නේ නැහැ. කොපි කරපු ඒවා යේ අවසරය පිළිබඳ පැණයක් ද, ඒත් වෙන්න බැහැ. බැළුවා බැළුවා හොයා ගන්න බැහැ. පස්සේ ඔන්න httpd access log එක බැළුවා, මේ තියෙන්නේ session ප්‍රශ්ණයක්. මොකක්ද දන්නවද session_is_registered කියන function එක deprecated හෙවත් php වලින් ම අයින් කරලම දාල. දැන් මොකද කරන්නේ හැම php ගොනුවකින් ම ඒක අයින් කරලා වෙන එකක් දාන්න ඕනේ. අපොයි php ගොනු තොගයක් ම තියෙනවා. මෙන්න මෙතැන දී තමයි මට sed හෙවත් steam editor උදව් වුනේ. හැබැයි දෙවිදියකට මට වධ දුන්නා. එකක් sed වල දී ' හෙවත් apostrophe වලක්වා ගන්න විදිහ ඒ වගේම bash script එකක් ඇතුලේ $ එක වලක්වා ගන්න විදිහ. කෙසේ නමුත් මම ඒක කළේ මෙන්න මේ විදිහටයි. නැවත කාට හෝ ඒක ප්‍රයෝජනවත් වේවී නම් මෙන්න 
#!/bin/bash

 for fl in *.php; do
     mv $fl $fl.old
     sed "s/if(session_is_registered('UserId'))/if(isset(\$_SESSION['UserId']))/g" $fl.old > $fl
     rm -f $fl.old
     done


මේක අවැසි directory යට දාලා දුවවන්නයි තියෙන්නේ. ජය වේවා!

3 අදහස් දැක්වීම්:

අටම්පහුර said...

ලිනක්ස් පාවිච්චි කලාට මටනං මේ අකූරැ ඉලක්කං එක්ක කොරන වැඩේ නං ග්‍රීක් වගේ

අටම්පහුර said...

ලිනක්ස් පාවිච්චි කලාට මටනං මේ අකූරැ ඉලක්කං එක්ක කොරන වැඩේ නං ග්‍රීක් වගේ

නිලන්ත පියසිරි said...

ඇත්තට ම ලිනක්ස් අපූරුයි. ඒ කියන්නේ වින්ඩෝස් අපූරු නැහැ කියන එක නොවෙයි. නමුත් මේ වගේ වැඩක් වින්ඩෝස් වල කරන්න පුළුවන්ද දන්නේ නැහැ?