عضویت سریع

دریافت نیوک لرن

برچسب های برتر

خوراک های نیوک لرن

اخبار
دانلودي ها
آخرين نظرات
وبلاگ سایت

تبلیغات

آموزش خواندن متن از درون فایل در PHP

PHPيکشنبه، 8 آذر، 1388 1662Aneeshtan


امروز با هم به آموزشی درمورد چگونگی خواندن خطوط نوشتاری از درون یک فایل  می پردازیم . در کل خواند فایل ها در زبان php یکی از مبحث های  جنجالی و حساس است که اگر  به درستی  انجام نشود ممکن است آسیب هایی به سایت مقصد بزند . از این رو آموزش این مورد بسیار پراهمیت است .  در اولین نگاه برای انجام عملیات خواندن خطوط  از فایل   نزدیک ترین   ابزار   تابع  file() به ذهن خواهد رسید .  مشکل استفاده از این تابع  خواندن کل یک فایل به صورت مقدار آرایه ای array  است از این رو در حافظه سرور ( لوکال )  هر عملیات زیر دست بر روی آرایه  مانند foreach()  منجر به  پردازش دوبرابری  آن  خواهد شد  برای مثال خواندن  فایل log  دو گیگی  حافظه ای برابر با 4 گیگ نیاز خواهد داشت که برای خواندن چندصد خط متن بی جهت خواهد بود .

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


بخش تابع نویسی :


<?php

/**
 *
 * Read a line number from a file
 *
 * @param    string    $file    The path to the file
 * @param    int    $line_num    The line number to read
 * @param    string    $delimiter    The character that delimits lines
 * @return    string    The line that is read
 *
 */
function readLine($file$line_num$delimiter="n")
{
    
/*** set the counter to one ***/
    
$i 1;

    
/*** open the file for reading ***/
    
$fp fopen$file'r' );

    
/*** loop over the file pointer ***/
    
while ( !feof $fp) )
    {
        
/*** read the line into a buffer ***/
        
$buffer stream_get_line$fp1024$delimiter );
        
/*** if we are at the right line number ***/
        
if( $i == $line_num )
        {
            
/*** return the line that is currently in the buffer ***/
            
return $buffer;
        }
        
/*** increment the line counter ***/
        
$i++;
        
/*** clear the buffer ***/
        
$buffer '';
    }
    return 
false;
}
?>

 

مثال عینی استفاده

 


<?php

/*** make sure the file exists ***/
$file 'my_file.txt';

if( 
file_exists$file ) && is_readable$file ) )
{
    echo 
readLine($file6);
}
else
{
    echo 
"Cannot read from $file";
}
?>

 

 
ایده ی گشتن  درون یک فایل و یافتن  شماره خط  مورد نظر  پردازش حافظه مناسبی از سیستم را در برخواهد داشت . اما  بهتر است بگذاریم  زبان php  این عملیات را برای ما انجام دهد . در زبان  php   تکنیک SPL File Object  چنین کاری را برای شما خواهد کرد .
 
 

<?php

/*** the file to read ***/
$file 'foo.txt';

        
/**
 *
 * Read a line number from a file
 *
 * @param    string    $file    The path to the file
 * @param    int    $line_num    The line number to read
 * @return    string    The line that is read
 *
 */
function readLine$file$line_number )
{
        
/*** read the file into the iterator ***/
        
$file_obj = new SplFileObject$file );

        
/*** seek to the line number ***/
        
$file_obj->seek$line_number );

        
/*** return the current line ***/
        
return $file_obj->current();
}

echo 
readLine$file345678 );

?>
 
 
 
این مقاله برای افرادی مناسب است که به زبان php تا حدودی تسلط کافی دارند
موفق باشید
نیوک لرن

آموزش php  خواندن متن از فایل  log php 
درجه 0/5 (0%) (0 رای)

ارسال به بلینک لیست ارسال به خوشمزه ارسال به ديگ ارسال به فرل ارسال به ردديت ارسال به تکنوراتي ارسال به یاهو مای وب ارسال به 100 درجه کلوب ارسال به بالاترین ارسال به دنباله ارسال به مهندس ارسال به استامبل ارسال به نتوز ارسال به فرندفید ارسال به تویتر ارسال به فیس بوک ارسال به سیمپی ارسال به Windows Live اشتراک گذاری در گوگل ارسال لینک از طریق یاهو مسنجر برای دوستان ارسال به سرویسهای دیگر


بازدیدکنندگان غیر عضو حق ارسال نظر و پیشنهاد در مورد مطالب این سایت ندارند .
برای استفاده از سرویسهای مخصوص کاربران عضو فرم عضویت را تکمیل نمائید .



مدت زمان ایجاد صفحه : 0.29 ثانیه
تعداد ارتباط : 44
حافظه درگیر: 1.97 مگابایت

Copyright @2008-2011 Nukelearn CMS|   Email  | XML| license |[Valid Atom 1.0] [Valid RSS]


با کلیک روی 1+ از سایت ما حمایت کنید