கடைசியில் இருந்து Php வாசிப்பு கோப்பு. PHP: PHP கோப்பைப் படிக்கவும். PHP இல் உள்ள கோப்புகளுடன் பணிபுரிதல்: படித்தல், எழுதுதல் மற்றும் பரிந்துரைகள். கோப்புகளை உருவாக்குதல் மற்றும் நீக்குதல்

PHP

file_exists("test.txt")//கோப்பு உள்ளதா? filesize("test.txt");//கோப்பின் அளவைக் கண்டறியவும் //நேரமுத்திரை திரும்பியது: fileatime("test.txt");//கோப்பை கடைசியாக அணுகிய தேதி //date("d M Y" , $atime); filemtime("test.txt");//கோப்பு மாற்றியமைக்கப்பட்ட தேதி //தேதி("d M Y", $mtime); filectime("test.txt");//கோப்பு உருவாக்கும் தேதி (Windows) //date("d M Y", $ctime);

கோப்புகள்: இயக்க முறைகள்

PHP

ஆதார ஃபோப்பன் (சரம் கோப்பு பெயர், சரம் பயன்முறை) // வளம் - வெற்றியின் போது கோப்பிற்கு ஒரு சுட்டியை வழங்குகிறது அல்லது பிழை ஏற்பட்டால் தவறானது
இயக்க முறை விளக்கம்
ஆர் திறந்த கோப்பு படிக்க மட்டும்;
r+ படிப்பதற்கும் எழுதுவதற்கும் கோப்பைத் திறக்கவும்;
டபிள்யூ எழுதுவதற்கு மட்டுமே கோப்பைத் திறக்கவும். அது இருந்தால், கோப்பின் தற்போதைய உள்ளடக்கங்கள் அழிக்கப்படும். தற்போதைய நிலை தொடக்கத்தில் அமைக்கப்பட்டுள்ளது;
w+ படிக்க மற்றும் எழுத கோப்பை திறக்கவும். அது இருந்தால், கோப்பின் தற்போதைய உள்ளடக்கங்கள் அழிக்கப்படும். தற்போதைய நிலை தொடக்கத்தில் அமைக்கப்பட்டுள்ளது;
எழுத கோப்பை திறக்கவும். தற்போதைய நிலை கோப்பின் முடிவில் அமைக்கப்பட்டுள்ளது;
a+ படிக்க மற்றும் எழுத கோப்பை திறக்கவும். தற்போதைய நிலை கோப்பின் முடிவில் அமைக்கப்பட்டுள்ளது;
பி பைனரி கோப்பை செயலாக்குகிறது. விண்டோஸில் பைனரி கோப்புகளுடன் பணிபுரியும் போது இந்த கொடி தேவைப்படுகிறது.

PHP இல் கோப்புகளைத் திறத்தல் மற்றும் மூடுதல்

PHP

$fi = fopen("test.html", "w+") அல்லது die("Error"); //எடுத்துக்காட்டுகள் $fi = fopen("http://www.you/test.html","r"); $fi = fopen("http://ftp.you/test.html", "r"); //மூடு fclose($fi)

PHP இல் கோப்புகளைப் படித்தல்

PHP

//ஃபைலைப் படிக்கவும் (int fi, int length) $str = fread($fi, 5); // முதல் 5 எழுத்துகள் எதிரொலி $str; // கர்சர் $str = fread ($fi, 12) நகர்த்தப்பட்டதால்; // அடுத்த 12 எழுத்துகள் எதிரொலி $str; fgets(int fi[, int length]) // ஒரு கோப்பிலிருந்து ஒரு வரியைப் படியுங்கள் fgetss(int fi, int length [, string அனுமதிக்கக்கூடியது]) // ஒரு கோப்பிலிருந்து ஒரு வரியைப் படித்து HTML குறிச்சொற்களை நிராகரிக்கவும் // சரம் அனுமதிக்கப்படும் - குறிச்சொற்களை fgetc(int fi) ஐ விட்டுவிட வேண்டும் //ஒரு கோப்பிலிருந்து ஒரு எழுத்தைப் படிக்கிறது

ஆரம்பத்தில், ஏற்கனவே உள்ள தரவு ஏதேனும் இருந்தால் மேலெழுதுவதன் மூலம் கோப்பின் தொடக்கத்தில் எழுதுதல் ஏற்படும். எனவே, நீங்கள் கோப்பின் முடிவில் ஏதாவது எழுத வேண்டும் என்றால், நீங்கள் பொருத்தமானதை அமைக்க வேண்டும் வாசிப்பு முறை, எடுத்துக்காட்டாக, a+ .

PHP கோப்புகளில் கர்சர் கையாளுதல்

PHP

int fseek(int fi, int offset [, int wherece]) //கர்சரை அமைத்தல் // int fi - கோப்பில் சுட்டிக்காட்டி //offset - நகர்த்த வேண்டிய எழுத்துகளின் எண்ணிக்கை. //எங்கிருந்து: //SEEK_SET - கோப்பின் தொடக்கத்திலிருந்து இயக்கம் தொடங்குகிறது; //SEEK_CUR - இயக்கம் தற்போதைய நிலையில் இருந்து தொடங்குகிறது; //SEEK_END - கோப்பின் முடிவில் இருந்து இயக்கம் தொடங்குகிறது. fseek($fi, -10, SEEK_END); //கடைசி 10 எழுத்துக்களைப் படிக்கவும் $s = fread($fi, 10); $pos = ftel($fi); //தற்போதைய நிலையை ரீவைண்ட் ($f) கண்டறிக//கர்சர் பூல் ஃபெஃப்($f) //கோப்பின் முடிவை மீட்டமைக்கவும்

PHP இல் கோப்புகளுடன் (தரவு) நேரடி வேலை

PHP

வரிசை கோப்பு (சரம் கோப்பு பெயர்) // கோப்பின் உள்ளடக்கங்களை வரிசை வடிவில் பெறுங்கள் // தரவு file_get_contents (சரம் கோப்பு பெயர்) உடன் நேரடியாக வேலை செய்வதற்கான மற்றொரு விருப்பம் // படித்தல் (முழு கோப்பையும் ஒரே வரியில் பெறுதல்) // எழுதுதல் கோப்பு (ஆரம்பத்தில் மேலெழுதப்பட்டது) file_put_contents (சரம் கோப்பு பெயர், கலப்பு தரவு[,int கொடி]); //FILE_APPEND // கோப்பின் இறுதிவரை எழுதவும்: file_put_contents("test.txt", "data", FILE_APPEND); //நீங்கள் ஒரு வரிசையை எழுதினால், $array = array("I", "live"); file_put_contents("test.txt",$array); //பிறகு "Ilive" கிடைக்கும்

php இல் கோப்புகளை நிர்வகித்தல்

PHP

நகல் (சரம் மூல, சரம் இலக்கு); // கோப்பு மறுபெயரை நகலெடுக்கிறது (str பழைய பெயர், str புதிய பெயர்); // கோப்பை மறுபெயரிடுங்கள் இணைப்பு நீக்கம் (சரம் கோப்பு பெயர்); // கோப்பை நீக்குதல்

PHP சர்வரில் கோப்புகளைப் பதிவேற்றுகிறது

//PHP.ini அமைப்புகள் file_uploads (on|off) // upload_tmp_dir // பதிவேற்றிய கோப்புகளுக்கான தற்காலிக கோப்புறையை பதிவேற்ற அனுமதி அல்லது அனுமதிக்க வேண்டாம். முன்னிருப்பாக தற்காலிக கோப்புறை upload_max_filesize (இயல்பு = 2 Mb) // அதிகபட்சம். பதிவேற்ற கோப்பு அளவு post_max_size // சமர்ப்பிக்கப்பட்ட படிவத்தின் மொத்த அளவு (upload_max_filesize ஐ விட பெரியதாக இருக்க வேண்டும்) // எளிமையான பதிவேற்றம்

HTML

சேவையகத்தில் கோப்புகளுடன் பணிபுரிதல்

PHP

//தரவை ஏற்கவும் $tmp = $_FILES["userfile"]["tmp_name"]; $name = $_FILES["userfile"]["name"]; //கோப்பை நகர்த்தவும் move_uploaded_file($tmp, name); move_uploaded_file($tmp, "upload/".name); // கோப்பை பதிவேற்ற கோப்புறைக்கு திருப்பிவிடவும் // தற்போதைய கோப்புடன் தொடர்புடையது // $_FILES வரிசையில் $_FILES["userfile"]["name"] // கோப்பு பெயர், எடுத்துக்காட்டாக, test.html $_FILES[ "userfile"][" tmp_name"] // தற்காலிக கோப்பு பெயர் (பாதை) $_FILES["userfile"]["size"] // கோப்பு அளவு $_FILES["userfile"]["type"] // கோப்பு வகை $ _FILES["பயனர் கோப்பு"] ["பிழை"] // 0 - பிழைகள் இல்லை, எண் - ஆம் சரம் fgets(ஆதார கைப்பிடி [, முழு எண்ணாக நீளம்])

கைப்பிடியால் சுட்டிக்காட்டப்பட்ட கோப்பு விளக்கத்திலிருந்து 1 பைட் படிக்கப்பட்ட நீளத்தின் சரத்தை வழங்குகிறது. படிக்கப்பட்ட பைட்டுகளின் எண்ணிக்கை நீளத்தை அடையும் போது - 1, வரியின் முடிவை அடையும் போது (இது திரும்பும் மதிப்பில் சேர்க்கப்பட்டுள்ளது) அல்லது கோப்பின் முடிவை அடையும் போது (எது முதலில் வருகிறதோ அது) வாசிப்பு முடிவடைகிறது. நீளம் குறிப்பிடப்படவில்லை என்றால், அது 1 கிலோபைட் அல்லது 1024 பைட்டுகளுக்கு இயல்புநிலையாக இருக்கும்.

பிழை ஏற்பட்டால், செயல்பாடு திரும்பும் பொய் .

மிகவும் பொதுவான தவறுகள்:

"C" செயல்பாடுகளின் சொற்பொருளுக்குப் பழக்கப்பட்ட புரோகிராமர்கள் fgets(), கோப்பின் முடிவு (EOF) கொடி எவ்வாறு திரும்பப் பெறப்படுகிறது என்பதில் உள்ள வேறுபாட்டை கணக்கில் எடுத்துக்கொள்ள வேண்டும்.

கோப்பு சுட்டிக்காட்டி செல்லுபடியாகும் மற்றும் செயல்பாடுகளால் வெற்றிகரமாக திறக்கப்பட்ட கோப்பை சுட்டிக்காட்ட வேண்டும் fopen()அல்லது fsockopen() .

கீழே ஒரு எளிய உதாரணம்:


உதாரணம் 1. கோப்பினை வரியாகப் படித்தல்

$கைப்பிடி = fopen("/tmp/inputfile.txt" , "r" );
அதே நேரத்தில் (! feof ($ handle )) (
$buffer = fgets($கைப்பிடி, 4096);
எதிரொலி $buffer ;
}
fclose ($ கைப்பிடி);
?>

கருத்து: PHP பதிப்பு 4.2.0 இல் தொடங்கி நீள அளவுரு விருப்பமானது. இந்த அளவுரு தவிர்க்கப்பட்டால், சரத்தின் நீளம் 1024 எனக் கருதப்படுகிறது. PHP 4.3 இன் படி, நீள அளவுருவைத் தவிர்ப்பதால், ஸ்ட்ரீம் சரத்தின் இறுதிவரை படிக்கப்படும். கோப்பில் உள்ள பெரும்பாலான வரிகள் 8 கிலோபைட்டுகளுக்கு மேல் நீளமாக இருந்தால், ஸ்கிரிப்ட் பயன்படுத்தும் ஆதாரங்களைப் பற்றிய மிகச் சிறந்த முடிவு அதிகபட்ச வரி நீளத்தைக் குறிப்பிடுவதாகும்.

கருத்து:இந்தச் செயல்பாடு PHP 4.3 இலிருந்து பைனரி தரவைச் சரியாகச் செயல்படுத்தும். முந்தைய பதிப்புகளில் இந்த செயல்பாடு இல்லை.

fopen, fclose, feof, fgets, fgetss மற்றும் fscanf செயல்பாடுகளைப் பயன்படுத்துவது பற்றி

அனைத்து சாத்தியங்களையும் பட்டியலிடுவோம்

PHP போன்ற நவீன நிரலாக்க மொழிகளுடன் பணிபுரிவதன் நன்மைகளில் ஒன்று, கிடைக்கும் அம்சங்களின் எண்ணிக்கை. PHP ஆனது பெர்லின் பொன்மொழியான "ஏதேனும் ஒன்றைச் செய்வதற்கு ஒன்றுக்கு மேற்பட்ட வழிகள் உள்ளன", குறிப்பாக கோப்பு செயலாக்கத்திற்கு வரும்போது எளிதாக ஏற்றுக்கொள்ள முடியும். ஆனால் ஏராளமான கருவிகள் இருப்பதால், வேலையைச் செய்வதற்கு எது சிறந்தது என்ற கேள்வி எழுகிறது. நிச்சயமாக, இந்தக் கேள்விக்கான பதில், கோப்பைச் செயலாக்கும்போது உங்கள் இலக்குகள் என்ன என்பதைப் பொறுத்தது, எனவே அனைத்து மொழியின் திறன்களையும் கற்றுக்கொள்வது உங்கள் நேரத்திற்கு மதிப்புள்ளது.

பாரம்பரிய ஃபோபன் முறைகள்

ஃபோபன் முறைகள், முந்தைய சி மற்றும் சி++ புரோகிராமர்களுக்கு மிகவும் பரிச்சயமானவை, ஏனெனில் நீங்கள் அந்த நிரலாக்க மொழிகளுடன் பணிபுரிந்திருந்தால், பல ஆண்டுகளாக உங்கள் விரல் நுனியில் இருக்கும் கருவிகள் அதிகமாகவோ அல்லது குறைவாகவோ இருக்கும். இந்த முறைகளில் ஏதேனும், நீங்கள் நிலையான நடைமுறையைப் பின்பற்றுகிறீர்கள், கோப்பைத் திறக்க fopen ஐப் பயன்படுத்தி, தரவைப் படிக்க ஒரு செயல்பாடு, பின்னர் பட்டியல் 1 இல் காட்டப்பட்டுள்ளபடி கோப்பை மூட fclose.

பட்டியல் 1. fgets ஐப் பயன்படுத்தி கோப்பைத் திறந்து படிக்கவும்
$file_handle = fopen("myfile", "r"); அதே நேரத்தில் (!feof($file_handle)) ($line = fgets($file_handle); எதிரொலி $line; ) fclose($file_handle);

இந்த செயல்பாடுகள் மிகவும் அனுபவம் வாய்ந்த புரோகிராமர்களுக்கு நன்கு தெரிந்திருந்தாலும், அவை எவ்வாறு செயல்படுகின்றன என்பதை நான் பகுப்பாய்வு செய்கிறேன். உண்மையில் நீங்கள் பின்வரும் படிகளைப் பின்பற்றுகிறீர்கள்:

  1. கோப்பைத் திறக்கவும். $file_handle கோப்பிற்கான இணைப்பைச் சேமிக்கிறது.
  2. நீங்கள் கோப்பின் முடிவை அடைந்துவிட்டீர்களா என்று பார்க்கவும்.
  3. நீங்கள் படிக்கும் ஒவ்வொரு வரியையும் அச்சிட்டு, முடிவை அடையும் வரை கோப்பை தொடர்ந்து படிக்கவும்.
  4. கோப்பை மூடவும்.

இதைக் கருத்தில் கொண்டு, இங்கே பயன்படுத்தப்படும் ஒவ்வொரு கோப்பு செயல்பாட்டையும் நான் பார்க்கிறேன்.

fopen செயல்பாடு

fopen செயல்பாடு ஒரு கோப்பிற்கான இணைப்பை நிறுவுகிறது. நான் "இணைப்பை நிறுவுகிறது" என்று சொல்கிறேன், ஏனெனில், ஒரு கோப்பைத் திறப்பதுடன், ஃபோப்பன் ஒரு URL ஐயும் திறக்க முடியும்:

$fh = fopen("http://127.0.0.1/", "r");

நிரலின் இந்த வரி மேலே உள்ள பக்கத்திற்கான இணைப்பை உருவாக்குகிறது மற்றும் அதை உள்ளூர் கோப்பாக படிக்கத் தொடங்க உங்களை அனுமதிக்கிறது.

குறிப்பு: fopen இல் பயன்படுத்தப்படும் "r" விருப்பம், கோப்பு திறந்திருக்கும் படிக்க மட்டுமே என்பதைக் குறிக்கிறது. இந்த கட்டுரையில் விவாதிக்கப்பட்ட சிக்கல்களின் வரம்பில் ஒரு கோப்பில் எழுதுவது சேர்க்கப்படவில்லை என்பதால், அளவுருவின் சாத்தியமான அனைத்து மதிப்புகளையும் நான் பட்டியலிட மாட்டேன். இருப்பினும், கிராஸ்-பிளாட்ஃபார்ம் இணக்கத்தன்மைக்காக நீங்கள் பைனரிகளில் இருந்து படிக்கிறீர்கள் என்றால் "r" ஐ "rb" ஆக மாற்ற வேண்டும். இந்த வகையின் உதாரணம் கீழே உள்ளது.

feof செயல்பாடு

feof கட்டளையானது ரீட் கோப்பின் முடிவை அடைந்துவிட்டதா என்பதைத் தீர்மானிக்கிறது மற்றும் அது சரி அல்லது தவறு என்பதைத் தருகிறது. "myfile" கோப்பின் இறுதி வரையில் காட்டப்பட்டுள்ள லூப் தொடர்கிறது. நீங்கள் ஒரு URL ஐப் படிக்கிறீர்கள் என்றால், மேலும் படிக்க வேண்டிய தரவு இல்லாததால், இணைப்பு நேரம் முடிந்துவிட்டால், feof False என்பதைத் தரும்.

செயல்பாடு fclose

பட்டியல் 1 இன் நடுப்பகுதியைத் தவிர்த்துவிட்டு இறுதிக்குச் செல்வோம்; fclose fopen க்கு எதிர்மாறாக செய்கிறது: இது கோப்பு அல்லது URLக்கான இணைப்பை மூடுகிறது. இந்தச் செயல்பாட்டைச் செயல்படுத்திய பிறகு, நீங்கள் கோப்பு அல்லது சாக்கெட்டில் இருந்து படிக்க முடியாது.

fgets செயல்பாடு

பட்டியல் 1 இல் உள்ள சில வரிகளுக்குப் பின் சென்று, கோப்பு செயலாக்க செயல்முறையின் இதயத்தை நீங்கள் பெறுவீர்கள்: உண்மையில் கோப்பைப் படிப்பது. முதல் உதாரணத்திற்கு fgets செயல்பாடு உங்கள் விருப்பமான ஆயுதம். இது ஒரு கோப்பிலிருந்து தரவின் ஒரு வரியைப் பிடித்து, அதை ஒரு சரமாகத் தருகிறது. அங்கிருந்து நீங்கள் தரவைக் காட்டலாம் அல்லது செயலாக்கலாம். பட்டியல் 1 இல் உள்ள எடுத்துக்காட்டு முழு கோப்பையும் அச்சிடுகிறது.

நீங்கள் பணிபுரியும் தரவுத் துண்டின் அளவைக் கட்டுப்படுத்த முடிவு செய்தால், கைப்பற்றப்பட்ட தரவு சரத்தின் அதிகபட்ச நீளத்தைக் கட்டுப்படுத்த fgets வாதத்தைச் சேர்க்கலாம். எடுத்துக்காட்டாக, ஒரு வரியின் நீளத்தை 80 எழுத்துகளாகக் கட்டுப்படுத்த பின்வரும் குறியீட்டைப் பயன்படுத்தவும்:

$string = fgets($file_handle, 81);

"\0", C இல் உள்ள வரியின் இறுதிக் குறிகாட்டியை நினைத்து, உங்களுக்குத் தேவையானதை விட நீளத்தை ஒரு எழுத்தாக அமைக்கவும். நீங்கள் பார்க்கிறபடி, மேலே உள்ள எடுத்துக்காட்டு 81 ஐப் பயன்படுத்துகிறது, அதேசமயம் உங்களுக்கு 80 எழுத்துகள் தேவை. கொடுக்கப்பட்ட செயல்பாட்டிற்கு வரி நீள வரம்பை அமைக்க வேண்டியிருக்கும் போதெல்லாம் கூடுதல் எழுத்தைச் சேர்ப்பதை வழக்கமாக்கிக் கொள்ளுங்கள்.

fread செயல்பாடு

fgets செயல்பாடு ஒரு கோப்பைப் படிக்க கிடைக்கக்கூடிய பல செயல்பாடுகளில் ஒன்றாகும். இது மிகவும் பொதுவாகப் பயன்படுத்தப்படும் செயல்பாடுகளில் ஒன்றாகும், ஏனெனில் பெரும்பாலான சந்தர்ப்பங்களில் ஒரு கோப்பின் வரியை செயலாக்குவது மிகவும் அர்த்தமுள்ளதாக இருக்கும். உண்மையில், பல அம்சங்கள் இதே போன்ற திறன்களை வழங்குகின்றன. அது எப்படியிருந்தாலும், வரிக்கு வரி பகுப்பாய்வு எப்போதும் உங்களுக்குத் தேவையானது அல்ல.

இங்கே நாம் fread ஐ அணுகுகிறோம். fread செயல்பாடு fgets ஐ விட சற்று வித்தியாசமான நோக்கத்தைக் கொண்டுள்ளது: இது பைனரி கோப்புகளிலிருந்து (அதாவது, மனிதர்கள் படிக்கக்கூடிய உரையை ஆரம்பத்தில் கொண்டிருக்காத கோப்புகள்) படிக்கும் நோக்கம் கொண்டது. பைனரி கோப்புகளுக்கு "வரிகள்" என்ற கருத்து பொருந்தாது என்பதால் (தருக்க தரவு கட்டமைப்புகள் பொதுவாக வரிகளாக உடைக்கப்படுவதில்லை), படிக்க வேண்டிய பைட்டுகளின் எண்ணிக்கையை நீங்கள் குறிப்பிட வேண்டும்.

$fh = fopen("myfile", "rb"); $data = fread($file_handle, 4096);

மேலே உள்ள எடுத்துக்காட்டில் 4096 பைட்டுகள் (4 KB) தரவு உள்ளது. நீங்கள் குறிப்பிட்ட மதிப்பைப் பொருட்படுத்தாமல், fread அதிகபட்சமாக 8192 பைட்டுகள் (8 KB) படிக்கும் என்பதை நினைவில் கொள்ளவும்.

கோப்பு 8 KB ஐ விட பெரியதாக இல்லை எனக் கருதினால், கீழே உள்ள நிரல் துணுக்கு முழு கோப்பையும் ஒரே வரியில் படிக்க வேண்டும்.

$fh = fopen("myfile", "rb"); $data = fread($fh, filesize("myfile")); fclose($fh);

கோப்பு அளவு பெரியதாக இருந்தால், மீதமுள்ளவற்றைப் படிக்க நீங்கள் ஒரு லூப்பைப் பயன்படுத்த வேண்டும்.

fscanf செயல்பாடு

சரம் செயலாக்கத்திற்கு திரும்புவது, fscanf பாரம்பரிய C கோப்பு நூலகச் செயல்பாட்டின் வாரிசு ஆகும். உங்களுக்கு இது பற்றித் தெரியாவிட்டால், fscanf ஆனது ஒரு கோப்பிலிருந்து தரவு புலங்களை மாறிகளாகப் படிக்கும்.

பட்டியல் ($field1, $field2, $field3) = fscanf($fh, "%s %s %s");

PHP.net போன்ற பல ஆதாரங்களில் இந்தச் செயல்பாட்டில் பயன்படுத்தப்படும் வடிவமைப்பு சரங்கள் விவரிக்கப்பட்டுள்ளன, எனவே இந்தத் தகவலை மீண்டும் இங்கு கூறமாட்டேன். சரம் வடிவமைப்பு மிகவும் நெகிழ்வானது என்று சொன்னால் போதுமானது. செயல்பாட்டின் மூலம் திரும்பிய மாறியில் அனைத்து புலங்களும் வைக்கப்பட்டுள்ளன என்பதையும் குறிப்பிட வேண்டும். (C இல், இவை வாதங்களாக அனுப்பப்படும்.)

fgetss செயல்பாடு

fgetss செயல்பாடு பாரம்பரிய கோப்பு கையாளுதல் செயல்பாடுகளிலிருந்து வேறுபட்டது மற்றும் PHP இன் திறன்களைப் பற்றிய சிறந்த புரிதலை உங்களுக்கு வழங்குகிறது. இது fgets போன்று செயல்படுகிறது, ஆனால் அது கண்டறியும் எந்த HTML அல்லது PHP குறிச்சொற்களையும் நிராகரித்து, வெறும் உரையை மட்டும் விட்டுவிடும். கீழே உள்ள HTML கோப்பை எடுத்துக் கொள்வோம்.

பட்டியல் 2. எடுத்துக்காட்டு HTML கோப்பு
என் தலைப்பு

"உங்களுக்கு வலி கொடுக்க யாரும் இல்லை" என்பதன் அர்த்தம் என்ன என்பதை நீங்கள் புரிந்து கொண்டால், நீங்கள் அமெரிக்கா இசைக்குழுவை அதிகம் கேட்கிறீர்கள்.

அதை fgetss செயல்பாட்டின் மூலம் அனுப்புவோம்.

பட்டியல் 3. fgetss ஐப் பயன்படுத்துதல்
$file_handle = fopen("myfile", "r"); அதே நேரத்தில் (!feof($file_handle)) (எக்கோ = fgetss($file_handle); ) fclose($file_handle);

நீங்கள் வெளியீட்டாகப் பெறுவது இதுதான்:

எனது தலைப்பு "உனக்கு வலி கொடுக்க யாரும் இல்லை" என்பதன் அர்த்தம் என்ன என்பதை நீங்கள் புரிந்து கொண்டால், நீங்கள் அமெரிக்கா இசைக்குழுவை அதிகம் கேட்கிறீர்கள்.

fpassthru செயல்பாடு

நீங்கள் ஒரு கோப்பிலிருந்து தரவை எவ்வாறு படிக்கிறீர்கள் என்பதைப் பொருட்படுத்தாமல், fpassthru செயல்பாட்டைப் பயன்படுத்தி நிலையான வெளியீட்டு சேனலைப் பயன்படுத்தி மீதமுள்ள தரவை அச்சிடலாம்.

fpassthru ($fh);

இந்த செயல்பாடு தரவை அச்சிடுகிறது, எனவே நீங்கள் அதை ஒரு மாறியில் வைக்க வேண்டியதில்லை.

நேரியல் அல்லாத கோப்பு செயலாக்கம்: ஒரு கோப்பு வழியாக நகர்த்துதல்

நிச்சயமாக, மேலே விவரிக்கப்பட்ட செயல்பாடுகள் ஒரு கோப்பிலிருந்து தொடர்ச்சியாக படிக்க மட்டுமே அனுமதிக்கின்றன. மிகவும் சிக்கலான கோப்புகள் கோப்பின் தொடக்கத்திலோ அல்லது முடிவிலோ கோப்பின் வெவ்வேறு பகுதிகளுக்கு நகர வேண்டியிருக்கும். இதைச் செய்ய, உங்களுக்கு fseek செயல்பாடு தேவை.

fseek($fh, 0);

மேலே உள்ள எடுத்துக்காட்டு கோப்பின் தொடக்கத்திற்கு செல்கிறது. நீங்கள் கோப்பின் தொடக்கத்திற்கு செல்ல விரும்பவில்லை என்றால் - சொல்லுங்கள், ஒரு கிலோபைட் போதும் - நீங்கள் வெறுமனே எழுதுங்கள்:

fseek($fh, 1024);

PHP V4.0 இன் படி, வேறு பல விருப்பங்களும் கிடைக்கின்றன. எடுத்துக்காட்டாக, உங்கள் தற்போதைய நிலையில் இருந்து 100 பைட்டுகள் முன்னேற வேண்டும் என்றால், பின்வரும் குறியீட்டைப் பயன்படுத்தலாம்:

fseek($fh, 100, SEEK_CUR);

அதேபோல், 100 பைட்டுகளை பின்னோக்கி நகர்த்துவது:

fseek($fh, -100, SEEK_CUR);

கோப்பு முடிவதற்குள் 100 பைட் நிலைக்குத் திரும்ப விரும்பினால், அதற்குப் பதிலாக SEEK_END ஐப் பயன்படுத்தவும்.

fseek($fh, -100, SEEK_END);

புதிய நிலையை அடைந்ததும், தரவைப் படிக்க fgets, fscanf அல்லது வேறு செயல்பாட்டைப் பயன்படுத்தலாம்.

குறிப்பு: URL ஐக் குறிப்பிடும் கோப்பு விளக்கங்களில் fseek ஐப் பயன்படுத்த முடியாது.

ஒரு முழு கோப்பைப் பிடிக்கவும்

இப்போது நாம் PHP இன் சில தனிப்பட்ட கோப்பு செயலாக்க திறன்களைப் பார்க்கிறோம்: ஒன்று அல்லது இரண்டு வரிகளில் பெரிய அளவிலான தரவுகளை செயலாக்குதல். எடுத்துக்காட்டாக, ஒரு கோப்பை எவ்வாறு கைப்பற்றி அதன் முழு உள்ளடக்கத்தையும் உங்கள் வலைப்பக்கத்தில் காட்டுவது? சரி, fgets உடன் லூப்பைப் பயன்படுத்துவதற்கான உதாரணத்தை நீங்கள் பார்த்திருக்கிறீர்கள். ஆனால் அதை எப்படி எளிதாக்குவது? செயல்முறையானது fgetcontents ஐப் பயன்படுத்தி கிட்டத்தட்ட அபத்தமான முறையில் எளிதானது, இது முழு கோப்பையும் ஒரு வரியில் வைக்கிறது.

$my_file = file_get_contents("myfilename"); எதிரொலி $my_file;

இது சிறந்த வழி இல்லை என்றாலும், இந்த கட்டளையை இன்னும் சுருக்கமாக எழுதலாம்:

எதிரொலி file_get_contents("myfilename");

இந்த கட்டுரை முதன்மையாக உள்ளூர் கோப்புகளை செயலாக்குவதில் கவனம் செலுத்துகிறது, இருப்பினும், விவரிக்கப்பட்டுள்ள செயல்பாடுகளைப் பயன்படுத்தி மற்ற வலைப்பக்கங்களைப் பிடிக்கலாம், காட்டலாம் மற்றும் அலசலாம் என்பது குறிப்பிடத்தக்கது.

எதிரொலி file_get_contents("http://127.0.0.1/");

இந்த கட்டளை உண்மையில் இது போன்றது:

$fh = fopen("http://127.0.0.1/", "r"); fpassthru ($fh);

நீங்கள் இந்த உதாரணங்களைப் பார்த்து, "அது நிறைய வேலை" என்று நினைக்கலாம். PHP டெவலப்பர்கள் உங்களுடன் உடன்படுகிறார்கள். எனவே மேலே உள்ள கட்டளையை நீங்கள் சுருக்கலாம்:

readfile ("http://127.0.0.1/");

ரீட்ஃபைல் செயல்பாடு ஒரு கோப்பு அல்லது வலைப்பக்கத்தின் முழு உள்ளடக்கத்தையும் இயல்புநிலை வெளியீட்டு இடையகத்திற்கு வெளியிடுகிறது. முன்னிருப்பாக, இந்த கட்டளை தோல்வியடையும் போது ஒரு பிழை செய்தியைக் காட்டுகிறது. இந்த நடத்தையைத் தவிர்க்க (நீங்கள் விரும்பினால்), கட்டளையை முயற்சிக்கவும்:

@readfile("http://127.0.0.1/");

நிச்சயமாக, நீங்கள் கோப்புகளின் உள்ளடக்கங்களைச் செயலாக்க வேண்டும் என்றால், file_get_contents மூலம் வழங்கப்படும் ஒற்றை வரி மிகவும் அதிகமாக இருக்கலாம். split() செயல்பாட்டைப் பயன்படுத்தி முதலில் அதை பகுதிகளாகப் பிரிக்க விரும்பலாம்.

$array = split("\n", file_get_contents("myfile"));

ஆனால் உங்களுக்காக வேலை செய்யும் ஒரு சரியான செயல்பாடு இருந்தால் இந்த சிக்கலான அனைத்தும் உங்களுக்கு ஏன் தேவை? PHP கோப்பு() செயல்பாடு இந்த பணியை ஒரு படியில் நிறைவேற்றுகிறது: இது கோப்பின் கோடுகளாக இருக்கும் ஒரு சரம் வரிசையை வழங்குகிறது.

$ array = கோப்பு ("myfile");

மேலே உள்ள இரண்டு எடுத்துக்காட்டுகளுக்கு இடையே ஒரு சிறிய வித்தியாசம் உள்ளது என்பதை கவனத்தில் கொள்ள வேண்டும். பிளவு கட்டளை புதிய வரிகளை நீக்குகிறது, அதேசமயம் கோப்பு கட்டளை புதிய வரிகளுடன் வரிசை வரிகளை முடிக்கிறது (fgets போல).

எவ்வாறாயினும், PHP இன் திறன்கள் மேலே விவரிக்கப்பட்டதை விட அதிகமாக உள்ளன. ஒரே ஒரு parse_ini_file கட்டளை மூலம் .ini கோப்புகளை PHP பாணியில் அலசலாம். parse_ini_file கட்டளையானது பட்டியல் 4 இல் காட்டப்பட்டுள்ள கோப்புகளுக்குப் பொருந்தும்.

பட்டியல் 4. உதாரணம் .ini கோப்பு
; கருத்து பெயர் = "கிங் ஆர்தர்" குவெஸ்ட் = ஹோலி கிரெயில் பிடித்த வண்ணம் தேட = ப்ளூ சாமுவேல் கிளெமென்ஸ் = மார்க் ட்வைன் கேரின் ஜான்சன் = ஹூப்பி கோல்ட்பர்க்

பின்வரும் கட்டளைகள் ஒரு கோப்பை வரிசையாகக் குறிக்கின்றன, பின்னர் வரிசையை அச்சிடுகின்றன:

$file_array = parse_ini_file("holy_grail.ini"); print_r $file_array;

இதன் விளைவாக பின்வரும் வெளியீடு இருக்கும்:

பட்டியல் 5. வெளியீடு
அணி ( => கிங் ஆர்தர் => ஹோலி கிரெயிலைத் தேட => நீலம் => மார்க் ட்வைன் => ஹூப்பி கோல்ட்பர்க்)

நிச்சயமாக, இந்த கட்டளை பிரிவுகளை ஒன்றிணைத்திருப்பதை நீங்கள் கவனிக்கலாம். இது இயல்புநிலை செயலாகும், ஆனால் parse_ini_file: process_sections இன் இரண்டாவது வாதத்தைப் பயன்படுத்தி எளிதாகத் தனிப்பயனாக்கலாம், இது பூலியன் மாறியாகும். செயல்முறை_பிரிவுகளை True என அமைக்கவும்.

$file_array = parse_ini_file("holy_grail.ini", true); print_r $file_array;

உங்கள் வெளியீடு இப்படி இருக்கும்:

பட்டியல் 6. வெளியீடு
வரிசை ( => வரிசை ( => கிங் ஆர்தர் => ஹோலி கிரெயிலைத் தேட => நீலம்) => அணி ( => மார்க் ட்வைன் => ஹூப்பி கோல்ட்பர்க்))

PHP தரவுகளை எளிதில் பாகுபடுத்தக்கூடிய பல பரிமாண வரிசையில் வைக்கிறது.

ஆனால் PHP இல் கோப்பு செயலாக்கத்திற்கு வரும்போது இது பனிப்பாறையின் முனை மட்டுமே. tidy_parse_file மற்றும் xml_parse போன்ற மிகவும் சிக்கலான செயல்பாடுகள் முறையே HTML மற்றும் XML ஆவணங்களை அலச உதவும். இந்த செயல்பாடுகள் எவ்வாறு செயல்படுகின்றன என்பது பற்றிய விரிவான தகவலுக்கு, பகுதியைப் பார்க்கவும். இந்த கோப்பு வகைகளுடன் நீங்கள் பணிபுரிவீர்களா என்பதை இவை இரண்டும் கருத்தில் கொள்ளத்தக்கவை, ஆனால் சாத்தியமான அனைத்து கோப்பு வகைகளையும் பார்க்காமல், இந்த கட்டுரையின் உள்ளடக்கங்களை நீங்கள் கூர்ந்து கவனிக்க விரும்பலாம், இதில் சில நல்ல பொது விதிகள் உள்ளன. நான் இதுவரை விவரித்த செயல்பாடுகளுடன் வேலை செய்கிறேன்.

நல்ல நிரலாக்க நடை

உங்கள் திட்டத்தில் உள்ள அனைத்தும் திட்டமிட்டபடி செயல்படும் என்று ஒருபோதும் நினைக்க வேண்டாம். எடுத்துக்காட்டாக: நீங்கள் தேடும் கோப்பு நகர்த்தப்பட்டால் என்ன செய்வது? அனுமதி மாற்றம் ஒரு கோப்பின் உள்ளடக்கத்தை உங்களால் படிக்க முடியாமல் போனால் என்ன செய்வது? நீங்கள் file_exists மற்றும் is_readable முறைகளைப் பயன்படுத்தி ஒரு கோப்பின் இருப்பு மற்றும் அதை வாசிப்பதற்கான உரிமைகளை முன்கூட்டியே சரிபார்க்கலாம்.

பட்டியல் 7. கோப்பு_உள்ளது மற்றும் படிக்கக்கூடியது
$கோப்பு பெயர் = "மைஃபைல்"; என்றால் (கோப்பு_இருக்கிறது($கோப்பின் பெயர்) && படிக்கக்கூடியது ($கோப்பின் பெயர்)) ($fh = fopen($filename, "r"); # செயலாக்கம் fclose($fh); )

இருப்பினும், நடைமுறையில் இந்த நிரல் உங்கள் பணிக்கு அதிகமாக இருக்கும். ஃபோப்பன் மூலம் திரும்பிய மதிப்புகளைக் கையாள்வது எளிமையானது மற்றும் துல்லியமானது.

என்றால் ($fh = fopen($filename, "r")) ( # Processing fclose($fh); )

ஃபோப்பன் தோல்வியுற்றால் தவறானது எனத் தருவதால், கோப்பைத் திறக்க முடிந்தால் மட்டுமே கோப்பு செயலாக்கப்படும் என்பதை இது உறுதி செய்யும். நிச்சயமாக, கோப்பு இல்லை அல்லது படிக்க முடியவில்லை என்றால், திரும்ப மதிப்பு எதிர்மறையாக இருக்கும் என்று எதிர்பார்க்கலாம். எனவே, அத்தகைய காசோலை அனைத்து சாத்தியமான சிக்கல்களும் விழும் ஒரு பொறியாகும். மாற்றாக, நீங்கள் நிரலிலிருந்து வெளியேறலாம் அல்லது கோப்பைத் திறக்க முடியாவிட்டால் பிழைச் செய்தியைக் காட்டலாம்.

fopen ஐப் போலவே, file_get_contents, கோப்பு மற்றும் ரீட்ஃபைல் செயல்பாடுகள் கோப்பைத் திறக்கவோ அல்லது செயலாக்கவோ முடியாவிட்டால் தவறானவை எனத் தரும். fgets, fgetss, fread, fscanf மற்றும் fclose செயல்பாடுகளும் பிழை ஏற்பட்டால் Falseஐத் தரும். நிச்சயமாக, fclose தவிர, அவை வழங்கும் முடிவுகளை நீங்கள் ஏற்கனவே செயலாக்கியிருக்கலாம். fclose ஐப் பொறுத்தவரை, கோப்பு கைப்பிடி சரியாக மூடப்படாவிட்டால், அதிகம் செய்ய முடியாது, எனவே fclose இன் திரும்ப மதிப்பைச் சரிபார்ப்பது பொதுவாக ஓவர்கில் ஆகும்.

தேர்வு உங்களுடையது

கோப்புகளைப் படிக்கவும் அலசவும் திறமையான வழிகளில் PHPக்கு பஞ்சமில்லை. fread போன்ற கிளாசிக் செயல்பாடுகள் உங்களுக்கு பெரும்பாலான நேரங்களில் நம்பகத்தன்மையுடன் சேவை செய்யலாம் அல்லது நீங்கள் வேலையைச் செய்ய வேண்டுமானால், ரீட்ஃபைலின் எளிமையில் நீங்கள் அதிகம் ஈர்க்கப்படுவீர்கள். தேர்வு உண்மையில் நீங்கள் எதைச் சாதிக்க முயற்சிக்கிறீர்கள் என்பதைப் பொறுத்தது.

நீங்கள் அதிக அளவிலான தரவைச் செயலாக்குகிறீர்கள் என்றால், ஃபைலைப் பயன்படுத்துவதைக் காட்டிலும் fscanf மிகவும் பயனுள்ளதாகவும் திறமையாகவும் இருப்பதைக் காணலாம். நீங்கள் சிறிய மாற்றங்களுடன் பெரிய அளவிலான உரையைக் காட்டினால், கோப்பு , file_get_contents , அல்லது ரீட்ஃபைல் செயல்பாடுகளைப் பயன்படுத்துவது அதிக அர்த்தமுள்ளதாக இருக்கும். PHP ஐ கேச்சிங் செய்ய அல்லது தற்காலிக ப்ராக்ஸி சர்வரை உருவாக்கும் போது இந்த தீர்வு சரியாக இருக்கும்.

PHP கோப்புகளுடன் பணிபுரிய பல கருவிகளை வழங்குகிறது. ஒவ்வொன்றையும் நன்கு தெரிந்துகொள்ளுங்கள் மற்றும் நீங்கள் பணிபுரியும் திட்டத்திற்கு எந்த கருவிகள் சிறந்தவை என்பதைக் கண்டறியவும். உங்களுக்கு பரந்த அளவிலான மென்பொருள் கருவிகள் வழங்கப்படுகின்றன, அவற்றை மிகவும் திறம்பட பயன்படுத்துங்கள் மற்றும் PHP ஐப் பயன்படுத்தி உங்கள் கோப்புகளை செயலாக்குவதில் மகிழ்ச்சியடையுங்கள்.

PHP இல், நீங்கள் அடிக்கடி ஒரு கோப்பை உருவாக்க வேண்டும் ... இது மிகவும் எளிது: வட்டில் எந்த கோப்பும் இல்லை, குறியீடு இயக்கப்பட்டது மற்றும் கோப்பு தோன்றியது, பின்னர் நீங்கள் இந்த கோப்பை மற்றொரு மாறி அல்லது எந்த பக்கத்திலும் படிக்கலாம். இண்டர்நெட் மற்றும் பின்னர் அங்கு ஏதாவது எழுதுங்கள் ... ஆனால் இதற்காக நீங்கள் சிறப்பு செயல்பாடுகளை தெரிந்து கொள்ள வேண்டும் ... இந்த கட்டுரையில் அது பற்றி மேலும் ...

இயங்கக்கூடிய ஸ்கிரிப்ட்டில் PHP இல் கோப்பை உருவாக்க, நீங்கள் சில செயல்பாடுகளை குறிப்பிட வேண்டும்:

ஒரு உதாரணத்தைப் பார்ப்போம்:

$text = "கோப்பில் எழுத சில வகையான உரை";
$fp = fopen("file.txt", "w");
fwrite($fp, $text);
fclose ($ fp);
?>

இங்கே நீங்கள் தெரிந்து கொள்ள வேண்டும்:

fopen()- செயல்பாடு படிக்க அல்லது எழுத மற்றும் தெளிவுபடுத்தும் கோப்பை திறக்கிறது;

இந்த தெளிவுபடுத்தல் (ஃபோபன் செயல்பாட்டின் பயன்முறை அளவுரு) மிகவும் முக்கியமானது:

  • "ஆர்" - php இல் ஒரு கோப்பைத் திறக்கவும் வாசிப்பதற்கு மட்டுமே. கர்சர் தொடக்கத்தில் வைக்கப்பட்டுள்ளது.
  • "r+" - php இல் ஒரு கோப்பைத் திறக்கவும் வாசிப்பதற்கும் எழுதுவதற்கும். கர்சர் தொடக்கத்தில் வைக்கப்பட்டுள்ளது. !!! - இந்த இரண்டு முறைகள் r மற்றும் r+ உடன், கோப்புகள் ஏற்கனவே உருவாக்கப்பட்டிருக்க வேண்டும் (இல்லையெனில் பிழை தோன்றும் எச்சரிக்கை: fopen(file.txt) : ஸ்ட்ரீமைத் திறக்க முடியவில்லை: அத்தகைய கோப்பு அல்லது கோப்பகம் இதில் இல்லை ...), மற்றும் நாங்கள் மட்டுமே படிக்கிறோம் அல்லது சேர்க்க எங்களுக்கு வாய்ப்பு உள்ளது.
  • "டபிள்யூ" - கோப்பு எழுதுவதற்கு மட்டுமே திறக்கப்பட்டுள்ளது. கோப்பு பூஜ்ஜிய நீளத்திற்கு துண்டிக்கப்பட்டுள்ளது - அதாவது மேலெழுதப்பட்டது. தேவையானது எழுதப்பட்டு கர்சர் தொடக்கத்தில் வைக்கப்படும்.
  • "w+" - எழுதுவதற்கும் படிப்பதற்கும் ஒரு கோப்பைத் திறக்கிறது! மீதமுள்ளவை "w" பயன்முறையில் உள்ளதைப் போலவே இருக்கும். !!! - இந்த இரண்டு முறைகளிலும் - கோப்பு உருவாக்கப்படவில்லை என்றால் - அதை உருவாக்க ஒரு முயற்சி மேற்கொள்ளப்படும்!
  • "" - எழுதுவதற்கு மட்டுமே கோப்பைத் திறக்கவும். "w" போலல்லாமல், இந்த விருப்பம் கோப்பின் உள்ளடக்கங்களை மேலெழுதவில்லை, ஆனால் வரியின் முடிவில் கர்சரை வைத்து, இறுதியில் நாம் சேர்க்க விரும்பும் உள்ளடக்கத்தை இணைக்கிறது.
  • "a+" - எழுதுவதற்கும் படிப்பதற்கும் கோப்பைத் திறக்கவும்.

fwrite($fp, $text) - PHP இல் உள்ள ஒரு கோப்பில் எழுதுவதற்கான ஒரு செயல்பாடு - அதாவது $ text மாறியில் உள்ளவை $fp மாறியில் உள்ள ஒரு கோப்பில் எழுதப்படும்;

fclose($fp) - $fp மாறிக்கு நாம் எழுதிய கோப்பை மூடுவதற்கான செயல்பாடு;

இப்போது நீங்கள் எளிதாக php இல் கோப்புகளை உருவாக்கலாம், அவற்றைப் படிக்கவும் திருத்தவும் திறக்கலாம்.

திறந்த கோப்புடன் பணிபுரிய பயனுள்ள PHP சேர்த்தல்கள் மற்றும் செயல்பாடுகள்:

போது(!feof($fp))(
$mytext = fgets($fp, 99);
எதிரொலி $mytext."
";
}

இங்கே நிபந்தனை பூர்த்தி செய்யப்படுகிறது - "கோப்பின் இறுதி வரை, இதைச் செய்யுங்கள்" போது(!feof($fp))

1. செயல்பாடு fgets($fp, 99) - எல்லா உள்ளடக்கத்தையும் 99 பைட்டுகளின் பிரிவுகளாகப் பிரிக்க உங்களை அனுமதிக்கிறது, மேலும் இதை மேலும் தெளிவாகக் காண நாங்கள் ஒரு குறிச்சொல்லை வைக்கிறோம்

இந்த சரம் செயல்பாடு fgets(ஆதார கைப்பிடி [, முழு நீளம்]) முன்னிருப்பாக 1024 பைட்டுகளை (1 கிலோபைட்) நீள அளவுருவாக ஏற்றுக்கொள்கிறது, குறிப்பிடப்படவில்லை என்றால் அது அப்படியே இருக்கும். இந்த அளவுரு PHP 4.2.0 இன் படி விருப்பமானது (பிழை ஏற்பட்டால் தவறானது)

கோப்பைத் திறக்க, எழுத மற்றும் உருவாக்குவதற்கான கூடுதல் செயல்பாடுகள்

செயல்பாடு - int வாசிப்பு கோப்பு(சரம் கோப்பு பெயர் [, bool use_include_path [, resource Context]]) - கோப்பை முழுவதுமாக படிக்கவும்.

ஒரு கோப்பைப் படித்து, உள்ளடக்கங்களை வெளியீட்டு இடையகத்திற்கு எழுதுகிறது. மற்றும் பைட்டுகளின் வெளியீட்டின் எண்ணிக்கையை வழங்குகிறது. பிழை ஏற்பட்டால், நாய் பயன்படுத்தப்படாவிட்டால் அது திரும்பும் - @readfile.

இது போன்ற ஏதாவது நடக்கும்:

வார்த்தையின் முடிவில் ஒரு குறிச்சொல் உள்ளது
.

பி. செயல்பாடு - வரிசை கோப்பு(string filename [, int use_include_path [, resource Context]]), ரீட்ஃபைல் செயல்பாட்டைப் போலவே செய்கிறது, ஒரு விதிவிலக்குடன் இது கோப்பின் உள்ளடக்கங்களை ஒரு வரிசையில் சேர்க்கிறது:

இந்த வழியில் நீங்கள் இணையத்தில் உள்ள எந்தப் பக்கங்களையும் படிக்கலாம்: $lines = கோப்பு("http://site/"); மற்றும் foreach செயல்பாட்டைப் பயன்படுத்தி அணிவரிசை மூலம் மீண்டும் செய்யவும்;

3a. சரம் செயல்பாடு file_get_contents(சரம் கோப்பு பெயர் [, bool use_include_path [, resource Context [, int offset [, int maxlen]]]]] - உள்ளடக்கங்களை ஒற்றை சரமாகப் பெற உங்களை அனுமதிக்கிறது.

கோப்புச் செயல்பாட்டைப் போலவே, கோப்பைப் படிக்க இது மிகவும் உலகளாவிய PHP செயல்பாடாகும், உள்ளடக்கங்கள் மட்டுமே சரமாகத் திருப்பி அனுப்பப்படும், அணிவரிசையாக அல்ல, மேலும் நீங்கள் நிபந்தனைகளை அமைக்கலாம் - எந்த பைட்டில் தொடங்க வேண்டும் - ஆஃப்செட்மற்றும் எங்கு முடிப்பது - maxlen. தோல்வியில், அது FALSE என்று திரும்பும்.

முக்கியமான!!!- இந்த வழக்கில், செயல்பாடு 3 ஐ ஒரே நேரத்தில் மாற்றுகிறது: fopen(), fread() மற்றும் fclose() இதனால் குறியிலிருந்து விடுபடுகிறது.

3b. int செயல்பாடு file_put_contents(சரம் கோப்பு பெயர், கலப்பு தரவு [, int கொடிகள் [, வள சூழல்]]) - fopen(), fwrite() மற்றும் fclose() செயல்பாடுகளுக்கான தொடர் அழைப்புகளுக்கு ஒத்ததாக - எழுதப்பட்ட பைட்டுகளின் எண்ணிக்கையை வழங்குகிறது.

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

file_get_contents — ஒரு கோப்பின் உள்ளடக்கங்களை ஒரு சரத்தில் படிக்கிறது

விளக்கம்

லேசான கயிறு file_get_contents (சரம் $ கோப்பு பெயர் [, bool $use_include_path = பொய் [, வள $ சூழல் [, int $offset = -1 [, int $maxlen ]]]])

இந்த செயல்பாடு செயல்பாட்டைப் போன்றது கோப்பு()ஒரே வித்தியாசம் அது file_get_contents()குறிப்பிட்ட ஆஃப்செட்டில் தொடங்கி மேக்ஸ்லென் பைட்டுகள் வரை கோப்பின் உள்ளடக்கங்களை ஒரு சரத்தில் வழங்குகிறது. தோல்வி ஏற்பட்டால், file_get_contents()திரும்பும் பொய்.

செயல்பாட்டைப் பயன்படுத்துதல் file_get_contents()ஒரு கோப்பின் முழு உள்ளடக்கத்தையும் நீங்கள் பெற வேண்டும் என்றால் இது மிகவும் விரும்பத்தக்கது, ஏனெனில் செயல்பாடு உங்கள் இயக்க முறைமையால் ஆதரிக்கப்பட்டால், செயல்திறனை மேம்படுத்த கோப்பு-க்கு-நினைவக மேப்பிங் நுட்பத்தைப் பயன்படுத்துகிறது.

கருத்து:

ஸ்பேஸ் போன்ற சிறப்பு எழுத்துகளைக் கொண்ட URIஐத் திறக்கிறீர்கள் என்றால், URI ஐப் பயன்படுத்தி குறியாக்கம் செய்ய வேண்டும் urlencode().

அளவுருக்கள் பட்டியல்

படிக்கப்படும் கோப்பின் பெயர்.

பயன்படுத்த_சேர்க்கும்_பாதை

கருத்து:

PHP 5 இல் இருந்து நீங்கள் மாறிலியைப் பயன்படுத்தலாம் FILE_USE_INCLUDE_PATHஉள்ளிட்ட பாதையில் கோப்பைத் தேட.

சூழல்

செயல்பாட்டைப் பயன்படுத்தி உருவாக்கப்பட்ட சரியான சூழல் ஆதாரம் stream_context_create(). சிறப்பு சூழலைப் பயன்படுத்த வேண்டிய அவசியம் இல்லை என்றால், மதிப்பைக் கடந்து இந்த அளவுருவைத் தவிர்க்கலாம் ஏதுமில்லை.

அசல் ஸ்ட்ரீமின் வாசிப்பு தொடங்கும் ஆஃப்செட்.

ரிமோட் கோப்புகளுடன் பணிபுரியும் போது ஆஃப்செட் தேடல் ஆதரிக்கப்படாது. உள்ளூர் அல்லாத கோப்புகளில் ஆஃப்செட்டைக் கண்டறிய முயற்சிப்பது சிறிய ஆஃப்செட்டுகளுக்கு வேலை செய்யக்கூடும், ஆனால் இது ஒரு இடையக ஸ்ட்ரீமில் இயங்குவதால் அதன் விளைவு கணிக்க முடியாததாக இருக்கும்.

தரவு வாசிப்பின் அதிகபட்ச அளவு. இயல்பாக, கோப்பின் முடிவை அடையும் வரை வாசிப்பு செய்யப்படுகிறது. இந்த அமைப்பு வடிகட்டிகள் கொண்ட ஸ்ட்ரீம்களுக்கும் பொருந்தும் என்பதை நினைவில் கொள்ளவும்.

மதிப்புகள் திரும்ப

செயல்பாடு படித்த தரவை வழங்குகிறது அல்லது பொய்பிழை ஏற்பட்டால்.

கவனம்

இந்த செயல்பாடு பூலியனாக திரும்பலாம் பொய், மற்றும் பூலியன் அல்லாத மதிப்புக்கு அனுப்பப்பட்டது பொய். மேலும் தகவலுக்கு, பூலியன் வகைப் பகுதியைப் பார்க்கவும். இந்தச் செயல்பாட்டின் மூலம் வழங்கப்பட்ட மதிப்பைச் சரிபார்க்க === ஆபரேட்டரைப் பயன்படுத்தவும்.

பிழைகள்

ஒரு நிலை பிழை உருவாக்கப்படும் E_WARNING, கோப்பு பெயர் அளவுரு கண்டுபிடிக்க முடியவில்லை என்றால், அதிகபட்ச நீள அளவுரு பூஜ்ஜியத்தை விட குறைவாக இருக்கும் அல்லது ஸ்ட்ரீமில் ஆஃப்செட் ஆஃப்செட்டில் தேடல் தோல்வியடையும்.

எடுத்துக்காட்டுகள்

எடுத்துக்காட்டு #1 இணையதளத்தின் முகப்புப் பக்கத்தின் மூலக் குறியீட்டைப் பெற்றுக் காண்பிக்கவும்

$homepage = file_get_contents("http://www.example.com/");
எதிரொலி $homepage ;
?>

எடுத்துக்காட்டு #2 அடங்கும்_பாதையில் கோப்புகளைக் கண்டறிதல்

// <= PHP 5
$file = file_get_contents("./people.txt" , true );
//> PHP 5
$file = file_get_contents("./people.txt" , FILE_USE_INCLUDE_PATH );
?>

எடுத்துக்காட்டு #3 ஒரு கோப்பின் ஒரு பகுதியைப் படித்தல்

// எழுத்து 21ல் தொடங்கி 14 எழுத்துக்களைப் படிக்கவும்
$section = file_get_contents("./people.txt" , NULL , NULL , 20 , 14 );
var_dump ($ பிரிவு);
?>

இந்த எடுத்துக்காட்டை இயக்குவதன் முடிவு இப்படி இருக்கும்:

சரம்(14) "ல்லே பிஜோரி ரோ"

எடுத்துக்காட்டு #4 ஸ்ட்ரீமிங் சூழல்களைப் பயன்படுத்துதல்

// ஒரு நூலை உருவாக்கவும்
$opts = வரிசை(
"http" =>வரிசை(
"முறை" => "GET" ,
"header" => "Accept-language: en\r\n" .
"குக்கீ: foo=bar\r\n"
);

$ சூழல் = stream_context_create ($opts);

// மேலே அமைக்கப்பட்ட HTTP தலைப்புகளைப் பயன்படுத்தி கோப்பைத் திறக்கவும்
$file = file_get_contents ("http://www.example.com/" , false , $context );
?>

Close_notify. நீங்கள் தரவின் முடிவை அடையும் தருணத்தில் PHP இதை "SSL: Fatal Protocol Error" எனப் புகாரளிக்கும். இதைப் போக்க, E_WARNING ஐத் தவிர்த்து பிழை_அறிக்கையிடலை அமைக்க வேண்டும். PHP பதிப்புகள் 4.3.7 மற்றும் அதற்கு மேற்பட்டவை, ரேப்பரைப் பயன்படுத்தி ஸ்ட்ரீமைத் திறக்கும் போது, ​​சர்வர் பக்கத்தில் சிக்கல் IIS இருப்பதைக் கண்டறிய முடியும். https://மற்றும் எச்சரிக்கையைக் காட்டாது. நீங்கள் பயன்படுத்தினால் fsockopen()உருவாக்குவதற்கு ssl://சாக்கெட், இந்த எச்சரிக்கையைக் கண்டறிந்து அடக்குவது உங்கள் பொறுப்பு.