خانه - کامپیوترها
Php خط اول را از فایل می خواند. PHP: خواندن فایل PHP
18.4K

در واقع نحوه باز کردن یک فایل php مشکل بزرگی نیست. وقتی در وسط جنگل هستید، باز کردن یک بطری آبجو می تواند سخت تر باشد. اما فقط برنامه نویسان مشتاق اینگونه فکر می کنند. و برای مبتدیان، ما در مورد تمام قابلیت های PHP برای کار با فایل ها به شما خواهیم گفت:

فایل های php

فایل های با پسوند php حاوی کدهایی هستند که به زبان برنامه نویسی به همین نام نوشته شده اند. بر خلاف زبان های دیگر، php یک زبان برنامه نویسی سمت سرور است. یعنی در سمت سرور اجرا می شود. بنابراین، برای اشکال زدایی کد آن، باید یک سرور محلی روی ماشین کلاینت نصب شود.

برای کار با فایل های php از برنامه های کاربردی خاص- ویرایشگرهای نرم افزار رایج ترین آنها عبارتند از:

  • دریم ویور.
  • PHPEdit.
  • توسعه PHP Eclipse.
هنگام ایجاد سایت های مبتنی بر PHP، ممکن است نیاز به استفاده چندگانه باشد کد برنامه. در چنین شرایطی، اتصال از قبل راحت است راه حل های آمادهدر فایل دیگری قرار دارد. ساختار شامل برای این مورد استفاده می شود. نحو آن این است:

شامل نام فایل

مثال اتصال:

فایل شامل:


گنجاندن فایل نیز با استفاده از ساختار require امکان پذیر است. برخلاف include، شامل فایل قبل از اجرای کد برنامه می شود. با استفاده از نیاز در کد، تنها یک تماس با این فایل امکان پذیر است. پس از دسترسی مجدد، سیستم یک پیغام خطای کلی را نمایش می دهد و اجرای برنامه را متوقف می کند.

ساختار include فقط شامل منبع در طول اجرای برنامه می شود. از خواندن چندگانه فایل php پشتیبانی می کند. در صورت بروز خطا، فقط یک پیام هشدار نمایش داده می شود و اجرای کد از خط بعدی ادامه می یابد.

باز کردن و بستن فایل ها

در php تمام عملیات با فایل ها در چند مرحله انجام می شود:

  • باز کردن یک فایل؛
  • ویرایش محتوا؛
  • بستن فایل

تابع fopen() برای باز کردن یک فایل استفاده می شود. نحو آن این است:

int fopen (نام فایل رشته، حالت رشته [، int use_include_path])

استدلال های پذیرفته شده:

  • نام فایل رشته – نام فایل یا مسیر مطلق به آن. اگر مسیر فایل مشخص نشده باشد، در فهرست فعلی جستجو می شود. اگر فایل مورد نظر شما مفقود باشد، سیستم یک پیغام خطا نمایش می دهد. مثال:

  • حالت رشته - حالت باز کردن فایل را نشان می دهد. مقادیر پذیرفته شده توسط استدلال:
  • r - فایل فقط برای خواندن باز می شود، نشانگر فایل در ابتدا تنظیم شده است.
  • r+ – فایل برای خواندن و نوشتن باز است.
  • w – یک فایل جدید فقط برای نوشتن ایجاد می کند. اگر فایلی با همین نام از قبل وجود داشته باشد، تمام داده های موجود در آن به طور خودکار حذف می شوند.
  • w+ - یک فایل جدید برای نوشتن و خواندن ایجاد می کند. هنگامی که چنین فایلی وجود دارد، داده های آن به طور کامل با فایل های جدید بازنویسی می شود.
  • الف – فایل برای نوشتن باز است. اشاره گر در انتها تنظیم می شود. یعنی نوشتن در فایل php نه از ابتدا بلکه از آخر شروع می شود.
  • a+ - یک فایل را در حالت خواندن و نوشتن باز کنید. ضبط از پایان شروع می شود.
  • ب – حالت کار با یک فایل حاوی داده های باینری (in سیستم دودوییحساب دیفرانسیل و انتگرال). این حالت فقط در دسترس است سیستم عاملپنجره ها.

برای بستن دسترسی به یک فایل، از تابع fclose() استفاده کنید. نحو:

int fclose (فایل int)، که در آن فایل int دسته‌ای به سایت برای بستن است.

پس از هر بار خواندن یا نوشتن، فایل باید با این تابع بسته شود. در غیر این صورت، جریان ایجاد شده برای فایل باز می ماند. و این منجر به مصرف بی مورد ظرفیت سرور می شود.

مثال:

خواندن و نوشتن فایل ها

برای نمایش ساده کل محتویات یک فایل، تابع readfile() ایده آل است. نحو آن این است:

readfile (نام فایل رشته)، که در آن نام فایل رشته، نام فایل رشته است (نه یک دسته).


همین فایل را می توان با استفاده از تابع fpassthru() خواند. داده ها را از موقعیت نشانگر انتهایی تا انتهای فایل می خواند. نحو آن این است:

int fpassthru (فایل int)

این تابع نیاز به باز کردن و بستن یک فایل دارد. مثال:

نتیجه مشابه قبلی است.

توابع کار با فایل ها در php به شما امکان می دهد مطالب را خط به خط و کاراکتر به کاراکتر بخوانید:

  • رشته fgets (فایل int، طول int)- تابع یک رشته با طول را می خواند. مثال:

  • رشته fread (فایل int، طول int)- عمل مشابه قبلی است.

برای نوشتن داده های متنی در یک فایل، دو تابع یکسان وجود دارد:

  • int fputs (فایل int، رشته رشته [، طول int])
  • int fwrite (فایل int، رشته رشته [، طول int])

توابع در فایل int یک رشته رشته ای با طول مشخص شده int می نویسند ( آرگومان اختیاری). مثال:

ایجاد و حذف فایل ها

برای ایجاد یک فایل php، می‌توانید از تابع ()fopen در حالت دسترسی «w» یا «w+» استفاده کنید. یا تابع touch() زمان اصلاح فایل را تنظیم می کند. اگر عنصری با نام جستجو شده وجود نداشته باشد، ایجاد می شود. نحو آن.

در PHP، شما اغلب باید با ایجاد یک فایل سر و کار داشته باشید... خیلی ساده است: هیچ فایلی روی دیسک وجود ندارد، کد اجرا شد و فایل ظاهر شد، سپس می توانید این فایل را در متغیر دیگری یا حتی هر صفحه ای در صفحه بخوانید. اینترنت و سپس چیزی در آنجا بنویسید ... اما برای این کار باید عملکردهای خاصی را بدانید ... در این مقاله بیشتر در مورد آن ...

برای ایجاد یک فایل در PHP در یک اسکریپت اجرایی، فقط باید چند تابع را مشخص کنید:

بیایید به یک مثال نگاه کنیم:

$text = "نوعی متن برای نوشتن در فایل";
$fp = fopen("file.txt"، "w");
fwrite ($fp، $text)؛
fclose($fp);
?>

در اینجا شما باید بدانید:

fopen()- تابع فایل را برای خواندن یا نوشتن و توضیحات باز می کند.

این شفاف سازی (پارامتر حالت تابع fopen) بسیار مهم است:

  • "r"- یک فایل را در php باز کنید فقط برای خواندن. مکان نما در ابتدا قرار می گیرد.
  • "r+"- یک فایل را در php باز کنید برای خواندن و نوشتن. مکان نما در ابتدا قرار می گیرد. !!! - با این دو حالت r و r+ باید فایل ها از قبل ایجاد شده باشند (در غیر این صورت خطا ظاهر می شود هشدار: fopen(file.txt): پخش جریانی باز نشد: چنین فایل یا فهرستی در ...) و فقط می خوانیم یا فرصت اضافه کردن داریم.
  • "w" - فایل فقط برای نوشتن باز می شود. فایل به طول صفر کوتاه می شود - یعنی بازنویسی می شود. آنچه لازم است نوشته می شود و مکان نما در ابتدا قرار می گیرد.
  • "w+" - یک فایل برای نوشتن و خواندن باز می کند! بقیه مانند حالت "w" است. !!! - در این دو حالت - اگر فایل ایجاد نشده باشد - برای ایجاد آن تلاش می شود!
  • "آ" - فایل را فقط برای نوشتن باز کنید. برخلاف "w"، این گزینه محتویات فایل را بازنویسی نمی کند، اما مکان نما را در انتهای خط قرار می دهد و محتوایی را که می خواستیم اضافه کنیم به انتها اضافه می کند.
  • "a+"- فایل را برای نوشتن و خواندن باز کنید.

fwrite($fp, $text) - تابعی برای نوشتن روی یک فایل در PHP - یعنی آنچه در متغیر $text است روی فایلی که در متغیر $fp است نوشته می شود.

fclose($fp) - تابعی برای بستن فایلی که روی متغیر $fp نوشتیم.

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

اضافات و توابع مفید PHP برای کار با یک فایل باز:

while(!feof($fp))(
$mytext = fgets ($fp, 99);
echo $mytext."
";
}

در اینجا شرط برآورده می شود - "تا زمانی که پرونده به پایان برسد، این کار را انجام دهید" while(!feof($fp))

1. عملکرد fgets($fp، 99) - به شما امکان می دهد تمام محتوا را به بخش های 99 بایتی و بیشتر تقسیم کنید، برای مشاهده واضح تر، ما یک برچسب قرار می دهیم.

این تابع رشته fgets(دسته منبع [, int length]) به طور پیش‌فرض 1024 بایت (1 کیلوبایت) را به عنوان پارامتر طول می‌پذیرد، اگر مشخص نشده باشد، چنین خواهد بود. این پارامتر در PHP 4.2.0 اختیاری است (در صورت بروز خطا FALSE را برمی‌گرداند)

توابع اضافی برای باز کردن، نوشتن و ایجاد یک فایل

تابع - int فایل خواندنی(نام فایل رشته [، bool use_include_path [، زمینه منبع]]) - فایل را به عنوان یک کل بخوانید.

یک فایل را می خواند و محتویات آن را در بافر خروجی می نویسد. و تعداد بایت های خروجی را برمی گرداند. در صورت بروز خطا، اگر از سگ استفاده نشود، باز می گردد - @readfile.

چیزی شبیه این اتفاق خواهد افتاد:

در پایان کلمه یک برچسب وجود دارد
.

ب تابع - آرایه فایل(نام فایل رشته [، int use_include_path [، زمینه منبع]])، مانند تابع readfile عمل می کند، با یک استثنا، محتویات فایل را به یک آرایه اضافه می کند:

به این ترتیب می توانید هر صفحه ای را در اینترنت بخوانید: $lines = file("http://site/"); و با استفاده از تابع foreach در آرایه تکرار کنید.

3a. تابع رشته file_get_contents(نام فایل رشته [، bool use_include_path [، زمینه منبع [، int offset [، int maxlen]]]] - به شما امکان می دهد محتویات را به صورت یک رشته دریافت کنید.

این یک تابع جهانی تر PHP برای خواندن یک فایل است، مشابه تابع فایل، فقط محتویات به عنوان یک رشته برگردانده می شوند، نه یک آرایه، و می توانید شرایطی را تنظیم کنید - بایت شروع شود - انحرافو کجا تمام شود - ماکسلن. در صورت شکست، FALSE برمی گردد.

مهم!!!- در این حالت، تابع به طور همزمان 3 را جایگزین می کند: fopen()، fread() و fclose() و بنابراین از شر علامت خلاص می شود.

3b. تابع int file_put_contents(نام فایل رشته، داده های مخلوط [، پرچم های int [، زمینه منبع]]) - یکسان با فراخوانی های متوالی توابع fopen()، fwrite() و fclose() - تعداد بایت های نوشته شده را برمی گرداند.

رشته fgets(دسته منبع [، طول int])

یک رشته به طول - 1 بایت خوانده شده از توصیفگر فایل که توسط دسته به آن اشاره شده است را برمی گرداند. خواندن زمانی به پایان می رسد که تعداد بایت های خوانده شده به طول برسد - 1، زمانی که به انتهای خط می رسد (که در مقدار بازگشتی گنجانده شده است)، یا زمانی که به انتهای فایل می رسد (هر کدام که زودتر بیاید). اگر طول مشخص نشده باشد، به طور پیش فرض 1 کیلوبایت یا 1024 بایت است.

اگر خطایی رخ دهد، تابع برمی گردد نادرست .

رایج ترین اشتباهات:

برنامه نویسانی که به معنایی توابع "C" عادت کرده اند fgets()، باید تفاوت در نحوه بازگرداندن پرچم انتهای فایل (EOF) را در نظر بگیرد.

نشانگر فایل باید معتبر باشد و به فایلی اشاره کند که با موفقیت توسط توابع باز شده است fopen()یا fsockopen() .

در زیر یک مثال ساده آورده شده است:


مثال 1. خواندن یک فایل خط به خط

$handle = fopen("/tmp/inputfile.txt" , "r" );
در حالی که (! feof ($handle )) (
$buffer = fgets($handle, 4096);
echo $buffer ;
}
fclose($handle);
?>

اظهار نظر:پارامتر طول با شروع نسخه PHP 4.2.0 اختیاری شد. اگر این پارامتر حذف شود، طول رشته 1024 در نظر گرفته می شود. از PHP 4.3، حذف پارامتر طول باعث می شود که جریان تا انتهای رشته خوانده شود. اگر بیشتر خطوط فایل بیشتر از 8 کیلوبایت باشد، کارآمدترین تصمیم در مورد منابع استفاده شده توسط اسکریپت تعیین حداکثر طول خط است.

اظهار نظر: این تابعمی تواند داده های باینری را از PHP 4.3 به درستی پردازش کند. بیشتر نسخه های اولیهاین قابلیت را نداشت

PHP خیلی دیرتر از زمانی که زبان های برنامه نویسی موقعیت خود را تقویت کردند و ایده های کلی در مورد نحو، منطق، متغیرها و سایر اشیاء برنامه را فرموله کردند ظاهر شد. فایل ها و توابع برای کار با آنها پیشرفت نکردند، و حتی مشکل رمزگذاری فایل، که به دلایل طبیعی به وجود آمد، به راه حل های کاملاً جدیدی منجر نشد.

نکات کلی

کار اصلی با فایل‌ها، هر چه که هستند، شامل باز کردن، خواندن/نوشتن و بستن است. شما می توانید از عملکردهای مسدود کردن / رفع انسداد دسترسی به یک فایل در حالی که در حال پردازش است استفاده کنید، می توانید موقعیت خواندن/نوشتن را در فایل تنظیم کنید - همه چیز مانند قبل است، در گذشته های دور.

نکته مهم در PHP فراوانی توابع برای کار با فایل ها و گزینه های استفاده از آنها است. در عمل، استفاده از گزینه های ساده اما کاربردی کافی است. یک فایل، اول از همه، حافظه برنامه است. می توانید اطلاعات را در آن ذخیره کنید. هدف هر برنامه، هدف هر وب سایت ارائه، پردازش و اطمینان از ایمنی اطلاعات است.

شرایط ضروری

پیش از این، الزام سازگاری، حداقل از پایین به بالا، تزلزل ناپذیر بود. یعنی برنامه ای که یک بار در یک نسخه از یک زبان برنامه نویسی نوشته شده باشد به طور ایده آل در نسخه بعدی کامپایل/تفسیر می شود. در برنامه نویسی مدرن اینطور نیست. نیاز به سازگاری ساختارهای نحوی یک زبان به موضوعی تاریخی تبدیل شده است و مبارزه بین سبک ها و ابزارهای برنامه نویسی و نسخه های ابزارهای خاص به هنجار زندگی آنها تبدیل شده است.

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

بخوانید و خود را تغییر دهید

آیا یک برنامه می تواند خودش را تغییر دهد، یعنی یک اسکریپت می تواند بهبود یابد؟ تا به امروز، این سوال بسیاری را مورد توجه قرار داده است. اما این کار بسیار کاربردی تر به نظر می رسد: خواندن پی اچ پیفایل PHP. یک توسعه دهنده همیشه نمی تواند یک مشکل خاص را با نوشتن کد خاص حل کند. گاهی اوقات لازم است زمانی که بازدیدکننده ای به سایت می آید و سوالی را که در مرحله توسعه پیش بینی نشده بود، آن را تغییر دهید.

مانند سایر موارد، ابتدا باید فایل را باز کنید. وجود یا نبودن این فایل مهم نیست. اگر مشخص باشد که فایل وجود دارد (تابع file_exists() پاسخ مثبت می دهد)، تابع fopen() با دسترسی 'r'، 'r+'، 'a'، 'a+' استفاده می شود. اگر فایل هنوز وجود ندارد، پس با دسترسی ‘a’، ‘a+’، ‘w’، ‘w+’. نتیجه باز کردن یک فایل توصیفگر آن خواهد بود. فایل با تابع fclose() بسته می شود.

استفاده از PHP برای خواندن یک فایل در یک آرایه زمانی که نیازی به پردازش آن در زمان خواندن نیست، راحت است.

if (file_exists ($fName)) (

$aLines = فایل ($fName)

در این گزینه هر خط از فایل به صورت متوالی وارد عنصر آرایه می شود. لازم به ذکر است که توابع file() یا file_get_contents() نیازی به باز کردن فایل و بستن آن ندارند.

هنگامی که فایل ورودی خیلی بزرگ است و شما نیاز به یافتن اطلاعات کمی دارید یا به دلایل دیگر می توانید از PHP برای خواندن خط به خط فایل استفاده کنید. PHP توانایی انجام این کار را با توابع fgets() و fgetc() فراهم می کند.

$fvs = fopen($fName، "r")

while ((نادرست !== ($cLine = fgets($fvs، 2000)))) (

$cLines .= "
" . $i . "). $cLine

هر دو گزینه بی عیب و نقص کار می کنند. با این حال، هنگام انجام خواندن PHP از یک فایل PHP برای اصلاحات بعدی، باید اقدامات احتیاطی انجام شود. همیشه نمی توان پیش بینی کرد که بازدیدکننده چگونه از آن در مرحله توسعه سایت استفاده می کند. بهتر است اسکریپت ها در داخل توابع سایت تغییر کنند و کنترل این تغییر در اختیار بازدیدکننده از جمله مدیر منبع نباشد.

ذخیره نتایج

اطلاعات دریافتی و به روز شده توسط تابع fputs() خط به خط یا توسط تابع file_put_contents به عنوان یک کل در فایل نوشته می شود.

$fName = $_SERVER["DOCUMENT_ROOT"]. "/tmp/scData.php"

$fvs = fopen($fName، "a")

flock ($fvs، LOCK_EX)

$cLine = "1 خط". chr(10)

fputs ($fvs، $cLine)

$cLine = "2 خط" . chr(10)

fputs ($fvs، $cLine)

flock ($fvs، LOCK_UN)

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

$file = " scData.php "

$cContents = file_get_contents ($file)

// افزودن یک ورودی

$cContents .= "ورودی جدید\n"

// فایل را دوباره بنویسید

file_put_contents ($file، $cContents)

خواندن و نوشتن فایل های PHP آسان و طبیعی است. با این حال، مهم است که به خاطر داشته باشید: هر فایل یک نام، پسوند و مسیر (پوشه) دارد. برای اینکه یک اسکریپت PHP بتواند فایل ها را بخواند و بنویسد، این اسکریپت باید حقوق مناسب را داشته باشد. آنها به طور خودکار در هاست نمایش داده می شوند، اما در برخی موارد نیاز به گسترش دارند.

در برخی موارد، ممکن است مطلوب باشد که نتایج را با انجام یک تست خواندن تأیید کنید. نوشتن فایل‌های PHP در طول توسعه به این نیاز دارد، اما در برخی موارد، به خاطر امنیت یا قابلیت اطمینان سایت، بررسی ثبت داده‌ها ضروری است.

یکی از ویژگی های PHP، MySQl، جاوا اسکریپت، و به ویژه مرورگرها: اجازه دادن بی سر و صدا به برخی از خطاها. "شناخته نشد، انجام نشد..." - تمرین خیلی خوبی در خط مقدم نیست فناوری اطلاعات، اما این به توسعه دهندگان می آموزد که اشتباه نکنند و کدهای تمیز و با کیفیت بنویسند که این هم بد نیست.

PHP و کار با اسناد واقعی

PHP خواندن یک فایل PHP مطمئناً مورد توجه عملی است، اما این حوزه برنامه نویسی است. کاربر و بازدیدکننده سایت به اطلاعاتی با ماهیت کاربردی علاقه مند هستند که عادت دارد آنها را در قالب جداول و اسناد مشاهده کند، به ویژه در فرمت های فایل *.xlsx و *.docx. این فایل ها با فرمت MS Excel و MS Word هستند.

لیست کالاها، قیمت ها، ویژگی ها معمولا در قالب جداول تشکیل می شوند، بنابراین خواندن پی اچ پی فایل اکسلاز اهمیت قابل توجهی برخوردار است.

کتابخانه های PHPExcel و PHPWord برای کار با چنین فایل هایی توسعه یافته اند. با این حال، محتویات فایل های *.xlsx و *.docx در استاندارد OOXML ارائه می شود، یعنی سند واقعی و قابل درک در یک آرشیو فشرده ارائه می شود. بایگانی فشرده- این تعداد زیادی فایل، از جمله تصاویر، اشیاء، فرمول ها، درج های برنامه های دیگر است. فایل های متنی در اینجا با توضیحات در قالب برچسب ها نشان داده می شوند. خواندن چنین فایلی کافی نیست، شما باید آن را تجزیه کنید تا محتوا و ساختار آن را برای استفاده و اصلاح دریافت کنید.

این بدان معنی است که عملیات خواندن به یک رویه باز کردن بایگانی تبدیل می شود. این کتابخانه ها آرشیو اسناد را به طور مستقل باز می کنند و کارکردهای گسترده ای را برای خواندن، پردازش و نوشتن چنین اسنادی در اختیار توسعه دهنده قرار می دهند.

جداول اکسل

include_once 'PhpOffice/PhpExcel/IOFactory.php'

تابع scGetExcelFile($xls)(

$objPHPExcel = PHPExcel_IOFactory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

//این آرایه حاوی آرایه هایی از رشته ها است

$aSheet = $objPHPExcel->getActiveSheet()

آرایه $ = آرایه ()

//رفتار

foreach($aSheet->getRowIterator() به عنوان $row)(

$cellIterator = $row->getCellIterator()

foreach ($cellIterator به عنوان $cell)(

array_push($item، iconv("utf-8"، "cp1251"، $cell->getCalculatedValue()))

array_push ($array، $item)

خواندن و پردازش فایل های اکسل برای پردازش بسیار دشوارتر است اسناد Word. بهترین گزینهاگر نیاز به اجرای یک پروژه جدی برای خواندن و پردازش اطلاعات کاربردی دارید، ابتدا به کتابخانه PHPWord مسلط شوید. این خواهد داد تجربه خوبو معرفی سریع مشخصات موضوع.

اسناد Word

فقط دو خط:

$oWord = new \PhpOffice\PhpWord\PhpWord()

$oDocx = $this->oWord->loadTemplate($cFileName)

سند $cFileName اکنون برای پردازش در دسترس است. در مرحله بعد، آرشیو باز می شود، محتوای آن انتخاب و تجزیه و تحلیل می شود، که می تواند در وب سایت نمایش داده شود، تغییر داده شود و دوباره نوشته شود.

$zipClass = ZipArchive جدید ()

$zipClass->open($this->tempFileName)

// کل محتوای سند را بخوانید

برای ($i=0; $i<$zipClass->numFiles; $i++) (

$cNameIn = $zipClass->getNameIndex($i)

$cNameInExt = substr($cNameIn، -4)

if (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// فایل هایی با پسوندهای ".xml" و ".xml.rels" در جدول سند ذخیره می شوند

// هر خط xml به ترتیب با یک عدد منحصر به فرد نوشته می شود

$cBodyIn = $zipClass->getFromName($cNameIn)

$cBodyInLen = strlen($cBodyIn)

// تمام فایل های دیگر به همان صورت در پوشه سند نوشته می شوند

$cNameOnly = substr($cNameIn، strrpos($cNameIn، "/") + 1)

$zipClass->getFromName($cNameIn، $cWorkPath); // محتوا به عنوان یک فایل

فرصت هایی که وقتی باز می شوند کمک PHPاکسل و پی اچ پی ورد به شما امکان می دهند اسناد واقعی را دستکاری کنید و محتوای آنها را در هر لحظه مرتبط کنید. در دنیای پویای امروز، این امر بسیار مهم می شود. مرکز ثقل مدت‌هاست که از آن جابجا شده است استفاده محلی تجهیزات کامپیوتروارد فضای مجازی اینترنت بنابراین، ایجاد جداول و اسناد در محصولات محلی مایکروسافت کارایی کمتری نسبت به کار با چنین اسنادی در حالت خودکار و نیمه خودکار در یک وب سایت دارد که نه تنها برای سازنده جدول یا سند، بلکه برای مصرف کنندگان آن نیز قابل دسترسی است.

فایل های متنی، زندگی دیگر

در یک تقریب اول، فایل های متنی ساده تر از فایل های PHP یا اسناد برنامه هستند. با این حال، اینجا چیزی برای فکر کردن وجود دارد. عملیات خواندن/نوشتن چنین فایل‌هایی قبلاً در بالا نشان داده شده است، اما معنای چنین فایل‌هایی بسیار مهم‌تر است.

از آنجایی که یک کلاینت و سرور وجود دارد (اولین مورد تحت سلطه جاوا اسکریپت، دومی توسط PHP)، پس حتی مکانیسم‌های کوکی و جلسات نیز نمی‌توانند با نیاز به انتقال اطلاعات بین اسکریپت‌ها، صفحات یا فرآیندهای خاص مقابله کنند.

امکان انعکاس تغییرات مورد نظر در پایگاه داده وجود دارد، اما با همه مزیت ها و سرعت، فایل های متنی کوچک موقت یا دائمی می توانند گزینه بسیار جالب تری برای انتقال اطلاعات باشند. اگر فایل های کوچک زیادی ایجاد نکنید و اندازه آنها را کنترل نکنید، می توانند نسخه ای خاص و انعطاف پذیرتر از یک پایگاه داده باشند.

خواندن یک فایل متنی توسط PHP سریع است، می توان آن را بلافاصله به یک ساختار، آرایه یا شی تجزیه کرد. مورد دوم بسیار مهم است، زیرا به شما امکان می دهد اشیایی ایجاد کنید که خارج از زمان تعیین شده زندگی می کنند اسکریپت PHP، که همانطور که می دانید فقط می تواند روی سرور وجود داشته باشد و فقط در زمان بارگذاری صفحه، پاسخ AJAX ایجاد می شود یا به دلیل دیگری که باعث راه اندازی مفسر PHP می شود.

اگر به این واقعیت فکر می‌کنید که یک فایل متنی محتوا و ساختار توسعه‌دهنده است، یک فایل PHP نحو مفسر به اضافه منطق توسعه‌دهنده است و توضیحات «برچسب‌شده» html، css، xml بیشتر عناصر معنایی هستند، اما تنظیم شده‌اند. با استانداردهای استاتیک ممکن است فرد به این نتیجه برسد که احتمالاً زمان آن فرا رسیده است که فایل ها محتوای جدیدی به دست آورند و این خود باید کیفیت و منطق استفاده آنها را مشخص کند. دقیقاً به این دلیل است که برنامه نویسی هنوز برای مرحله بعدی توسعه خود آماده نیست، امروزه فایل ها به سادگی فایل هایی هستند که توسعه دهنده ایجاد می کند و استفاده از آنها را تعیین می کند.

جالب ترین و امیدوارکننده ترین چیز زمانی است که PHP یک فایل PHP را به طور مستقل در صورت نیاز می خواند. و یک PHP ساده با خواندن یک خط از یک فایل منجر به ایجاد یک شی، حداقل در حالتی که در آن ذخیره شده است، می شود. اینها ایده های کاملا آشنا نیستند، اما در دنیای مدرنهمه چیز خیلی سریع تغییر می کند

PHP

file_exists("test.txt")//آیا فایل وجود دارد؟ filesize("test.txt");//اندازه فایل را بیابید //مهر زمانی برگردانده شد: fileatime("test.txt");//تاریخ آخرین دسترسی به فایل //date("d M Y" ، $atime)؛ filemtime("test.txt");//تاریخ تغییر فایل //date("d M Y", $mtime); filectime("test.txt");//تاریخ ایجاد فایل (ویندوز) //date("d M Y", $ctime);

فایل ها: حالت های عملیاتی

PHP

منبع fopen (نام فایل رشته، حالت رشته) // منبع - در صورت موفقیت یک اشاره گر به فایل یا در صورت خطا FALSE را برمی گرداند.
حالت عملیاتی شرح
r باز کردن فایل فقط خواندنی؛
r+ باز کردن فایل برای خواندن و نوشتن؛
w فایل را فقط برای نوشتن باز کنید. اگر وجود داشته باشد، محتویات فعلی فایل از بین می رود. موقعیت فعلی در ابتدا تنظیم شده است.
w+ فایل را برای خواندن و نوشتن باز کنید. اگر وجود داشته باشد، محتویات فعلی فایل از بین می رود. موقعیت فعلی در ابتدا تنظیم شده است.
آ فایل را برای نوشتن باز کنید موقعیت فعلی در انتهای فایل تنظیم شده است.
a+ فایل را برای خواندن و نوشتن باز کنید. موقعیت فعلی در انتهای فایل تنظیم شده است.
ب فایل باینری را پردازش کنید این پرچم هنگام کار با فایل های باینری در ویندوز ضروری است.

باز و بسته کردن فایل ها در PHP

PHP

$fi = fopen("test.html"، "w+") یا die("خطا"); //نمونه‌ها $fi = fopen("http://www.you/test.html","r"); $fi = fopen("http://ftp.you/test.html"، "r"); //بستن fclose($fi)

خواندن فایل ها در PHP

PHP

//خواندن فایل fread(int fi, int length) $str = fread($fi, 5); // خواندن 5 کاراکتر اول echo $str; // از آنجایی که مکان نما $str = fread($fi, 12) را جابجا کرده است. // خواندن 12 کاراکتر بعدی echo $str; fgets(int fi[, int length]) // خواندن یک خط از یک فایل fgetss(int fi, int length [، رشته مجاز]) // یک خط از یک فایل را بخوانید و برچسب های HTML را کنار بگذارید // رشته مجاز - برچسب هایی که باید رها شود fgetc(int fi) //یک کاراکتر از یک فایل را می خواند

در ابتدا، Write در ابتدای فایل، با رونویسی داده های موجود، در صورت وجود، رخ می دهد. بنابراین، اگر می خواهید چیزی را تا انتهای فایل بنویسید، باید آن را تنظیم کنید حالت خواندنمثلا a+ .

دستکاری مکان نما در فایل های PHP

PHP

int fseek(int fi, int offset [, int wherece]) //تنظیم مکان نما // int fi - نشانگر فایل //offset - تعداد کاراکترهایی که باید جابجا شوند. //whence: //SEEK_SET - حرکت از ابتدای فایل شروع می شود. //SEEK_CUR - حرکت از موقعیت فعلی شروع می شود. //SEEK_END - حرکت از انتهای فایل شروع می شود. fseek($fi، -10، SEEK_END); //خواندن 10 کاراکتر آخر $s = fread($fi, 10); $pos = ftell($fi); //پیدا کردن موقعیت فعلی به عقب ($f)//بازنشانی مکان نما bool feof($f) //پایان فایل

کار مستقیم با فایل ها (داده ها) در PHP

PHP

فایل آرایه(نام فایل رشته) // دریافت محتویات فایل به صورت آرایه // گزینه دیگری برای کار مستقیم با داده ها file_get_contents(نام فایل رشته) // خواندن (دریافت کل فایل در یک خط) // نوشتن در فایل (در ابتدا رونویسی شد) file_put_contents (نام فایل رشته، داده های ترکیبی[,int flag]); //FILE_APPEND // در انتهای فایل بنویسید: file_put_contents("test.txt", "data", FILE_APPEND); //اگر یک آرایه بنویسید، $array = array("I", "live"); file_put_contents("test.txt",$array); //سپس "Ilive" را دریافت می کنیم

مدیریت فایل ها در php

PHP

کپی (منبع رشته، مقصد رشته)؛ // کپی تغییر نام فایل (str oldname, str newname); // تغییر نام فایل unlink(string filename); // حذف یک فایل

آپلود فایل ها در سرور PHP

//PHP.ini تنظیمات file_uploads (روشن|خاموش) // اجازه یا عدم اجازه آپلود فایل upload_tmp_dir // پوشه موقت برای فایل های آپلود شده. به طور پیش فرض پوشه موقت upload_max_filesize (پیش فرض = 2 مگابایت) // حداکثر. اندازه فایل آپلود 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"]["نوع"] // نوع فایل $ _FILES["userfile"] ["خطا"] // 0 - بدون خطا، تعداد - بله

 


خواندن:



برهم نهی توابع جبر منطقی توابع بولی یکنواخت

برهم نهی توابع جبر منطقی توابع بولی یکنواخت

تناظر G بین مجموعه های A و B را زیر مجموعه می گویند. اگر، آنگاه می گویند b با a مطابقت دارد. بسیاری از موارد مرتبط ...

سیستم اطلاعاتی چیست؟

سیستم اطلاعاتی چیست؟

پورتال های دولتی، وب سایت های ESIA. سیستم یکپارچه شناسایی و احراز هویت - esia.gosuslugi.ru EPGU. پورتال واحد خدمات عمومی...

انتقال از یک عبارت منطقی به یک مدار منطقی و بالعکس

انتقال از یک عبارت منطقی به یک مدار منطقی و بالعکس

کار آزمایشگاهی شماره 4. اجرای مدار عناصر منطقی ساخت مدارهای منطقی بخش نظری پردازش بر اساس ...

خجالت نیژنی نووگورود از پست روسیه

خجالت نیژنی نووگورود از پست روسیه

پس از معرفی سیستم عامل جدید EAS OPS که هزینه آن 890 میلیون روبل بود، زمان خدمات رسانی به مشتریان در دفاتر پست در منطقه...

فید-تصویر RSS