باز کردن فایل در PHP
تابع ()fopen برای باز کردن فایل ها در php مورد استفاده قرار می گیرد.
پارامتر اول این تابع شامل نام فایلی است که می خواهیم باز شود و پارامتر دوم مشخص می کند که فایل در چه حالتی باز شود:
<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>
فایل ممکن است در یکی از حالات زیر باز شود:
حالت | توضیحات |
---|---|
r | فقط خواندنی. از ابتدای فایل آغاز می شود |
r+ | خواندنی/نوشتنی. از ابتدای فایل آغاز می شود |
w | فقط نوشتنی. فایل را باز و محتویات آن را پاک می کند، یا اگر فایلی وجود نداشت آن را ایجاد می کند |
w+ | خواندنی/نوشتنی. فایل را باز و محتویات آن را پاک می کند، یا اگر فایلی وجود نداشت آن را ایجاد می کند |
a | افزودن(الحاق). فایل را باز و در انتهای آن می نویسد، یا اگر فایلی وجود نداشت آن را ایجاد می کند |
a+ | خواندنی/افزودنی. محتویات فایل را با نوشتن در انتهای آن حفظ می کند |
x | فقط نوشتنی. یک فایل جدید ایجاد می کند.اگر فایل درحال حاضر وجود داشته باشد false و یک خطا برمیگرداند |
x+ | خواندنی/نوشتنی. یک فایل جدید ایجاد می کند. اگر فایل درحال حاضر وجود داشته باشد false و یک خطا برمیگرداند |
نکته: اگر تابع ()fopen قادر به باز کردن فایل مشخص شده نباشد٫ مقدار "0" یا (false) را برمی گرداند.
مثال:
در مثال زیر اگر تابع ()fopenقادر به باز کردن فایل مشخص شده نباشد یک پیغام تولید می کند:
<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>
بستن فایل در PHP
تابع ()fclose برای بستن یک فایل باز استفاده می شود:
<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>
چک کردن پایان فایل
تابع ()feof بررسی می کند که آیا به پایان فایل (eof) رسیده ایم یا نه.
تابع ()feof برای ایجاد حلقه در داده های با طول نامشخص مناسب است.
توجه: شما نمی توانید از فایل هایی که در حالت w و a و x باز شده اند، بخوانید!
if (feof($file)) echo "End of file";
خواندن خط به خط یک فایل
تابع ()fgets برای خواندن یک خط از یک فایل، مورد استفاده قرار می گیرد.
نکته: بعد از هر بار فراخوانی این تابع، اشاره گر فایل، به خط بعدی جابه جا می شود.
مثال:
مثال زیر یک فایل را تا پایان فایل، خط به خط می خواند:
<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
خواندن کاراکتر به کاراکتر یک فایل
تابع ()fgetc برای خواندن یک کاراکتر تنها از یک فایل، مورد استفاده قرار می گیرد.
نکته: بعد از فراخوانی این تابع، اشاره گر فایل به کاراکتر بعدی جابه جا می شود.
مثال:
مثال زیر یک فایل را تا پایان فایل، کاراکتر به کاراکتر می خواند:
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
حالا feof! این طور تفسیر میشه: نقیض feof، یعنی هرچی بود برعکسش کن. مثلا اگه فایل به انتها رسیده باشد، feof! یعنی فایل به انتها نرسیده است.
به مثال زیر توجه کنید:
<?php
//ابتدا فایل را باز می کنیم
$file = fopen("test.txt", "r");
//تا زمانی که فایل به پایان نرسیده است کاری را انجام بده
while(! feof($file)) {
کاری را انجام بده
}
fclose($file);
?>
کد زیر رو برای شما آماده کردیم. این کد، یک متن رو در داخل یک فایل txt اضافه می کنه:
beyamooz.com/images/PHP/questionFiles/test2.zip
لطفا درصورت امکان راهنمایی فرمائید میخوام ازسمت کلاینت محتویات یک فایل اکسل(xlsx) را درون یک جدول دیتابیس mysql آپلود کنم
بافایل های csvکار کردم بافونت فارسی مشکل داشت وباید فایل اکسل تبدیل می شد به csvاگه کسی ازدوستان میتونه اینکار رو انجام بده حاضرم هزینه هم پرداخت کنم.چون نیازدارم.ایمیل [email protected]
برای این کار شما نیاز به برنامهنویسی دارید. اگر خودتون قصد انجامش رو دارید، بگید دقیقا کجاش مشکل دارید تا راهنماییتون کنم و اگر قصد دارید براتون انجام بدم، دقیق توضیح بدید که چه کار میخواید کنید.
در مورد هزینهشم بسته به کارتون میتونیم با هم کنار بیایم.
میتونید به ایمیل من پیام بدید: [email protected]
این کد هستش..$f=fopen("not.txt","r") or exit("do'not open this file");
به علامت > و < دقت کنید.
آدرس دهی رو هم بگید.
من یه فایل تکست درست کردم با اسم" نوت"....ولی اپنش نمیکنه...نمیدونم مشکل چیه...دستوراتم هم مثل شماست عینا..
اصلا اینکه بازش میکنه یعنی اینکه ما باید محتویات مثلا فایل "نوت" رو ببنیم دیگه..درسته !؟
چرا برای من چیزی نشون نمیده.
با دستور echo file_get_contents($filename); //comment ببینید میتونید فایل رو بخونید یا نه. اگر فایل خونده بشه، یعنی اینکه در دستورات بالا یه جا رو دارید اشتباه میرید.
بعدش تو فایل کاراکتر اول رو یه حرف بنویسید!
خسته نباشید .
چطور میتونم در این کد آدرس رو از template_directory به روت دایرکتوری تغییر بدم
wp_enqueue_style( 'cloudme-font-awesome', get_template_directory_uri().'/css/font-awesome.min.css');
میخوام فونت ها رو به جای اینکه از دایرکتوری قالب بگیر از public_html بگیره مثلا ادرس بشه
'wp-content/themes/css/font-awesome.min.css');
یا یه آدرس دلخواه
لطفا راهنمایی کنید
wp_enqueue_style( 'font-awesome.min', 'wp-content/themes/css/font-awesome.min.css');
توجه کنید که در تابع wp_enqueue_style، در آرگومان اول، باید نام استایل خودتون رو قرار بدید و در آرگومان دوم، آدرس رو باید قرار بدید.
اگر این دستور کار نکرد، اطلاع بدید!
با html یا js هم نمیشه؟
fread()
fwrite()
تابع fopen دو پارامتر ورودی دارد، اولین پارامتر، با آدرس فایل تنظیم می شود و دومی نحوه ی باز کردن فایل را مشخص می کند یعنی اگر با عدد 0 تنظیم شود، فایل بصورت فقط خواندنی باز خواهد شد و اگر با عدد 1 تنظیم شود، فایل بصورت نوشتنی باز خواهد شد ...
اگر واقعا هست آیا امنیت کاربر را به خطر نمی اندازه؟
یه سوال :
میخاستم بدونم از لحاظ کارایی این توابع باز کردن فایل
با توابه فصل قبل (include-require.....) چه فرقی میکنه
اخه جفتشون یه صفحه php رو بار گزاری میکنن دیگه
بازم تشکر
دستور include_once: با استفاده از این دستور می توانیم، کدهای یک فایل php دیگر را به کدهایمان اضافه کنیم.
دستور fopen: با استفاده از این دستور می توانید، فایل ها را باز کنید، بخوانید و یا محتوایشان را تغیر دهید. در اینجا منظور از فایل می تواند یک فایل متنی با فرمت txt. یا docx. و یا فایل های تصویری با فرمت gif. یا jpeg. و ... باشد.