رفتن به مطلب

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


پست های پیشنهاد شده

سلام دوستان

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

من این کد زیر رو نوشتم .

$filePath1 = 'NewFile.php';
unlink($filePath1);
$fp1 = fopen($filePath1, 'a+');
for ($i = 1; $i <= 5; $i++) {
    fwrite($fp1, "Line $i > " . date("Y-m-d h:i:s", time()) . PHP_EOL); 
//    sleep(1);
}
fclose($fp1);

$fp1 = fopen($filePath1, 'r');
for($i = 1 ; $i <= 5 ; $i++) {
    $ch1 = fgetc($fp1);
    $str1 = fgets($fp1);
    e( $ch1 . ' | ' . $str1);
}
fclose( $fp1);

چرا این کد رو نمیشه به این صورت نوشت ؟:

$filePath1 = 'NewFile.php';
unlink($filePath1);
$fp1 = fopen($filePath1, 'a+');
for ($i = 1; $i <= 5; $i++) {
    fwrite($fp1, "Line $i > " . date("Y-m-d h:i:s", time()) . PHP_EOL); 
//    sleep(1);
}

                    
                    
for($i = 1 ; $i <= 5 ; $i++) {
    $ch1 = fgetc($fp1);
    $str1 = fgets($fp1);
    e( $ch1 . ' | ' . $str1);
}
fclose( $fp1);

در این کد دوم من fclose اولی و fopen دومی رو حذف کردم. چرا باید برای هر کاری که میخوایم روی فایل انجام بدیم باید فایل رو باز و بسته کنیم ؟

چرا نمیشه همینطور که فایل باز هست ( قسمت اول کد ) بیایم و یه کار دیگم روش انجام بدیم ( قسمت دوم کد )

الان این کد دوم ارور میده.

ممنون

لینک به ارسال

سلام

خیلی مطمئن نیستم اما فکر میکنم به ازای هر فایل fopen باید یک فایل fclose هم موجود باشه . الان شما دو تا فایل دارید یکی دستور نوشتنی هست یکی خواندنی. از ()fcloseall   هم میشه استفاده کرد

لینک به ارسال
در در 8/28/2018 at 10:48، SadraHkm گفته است :

سلام دوستان

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

من این کد زیر رو نوشتم .


$filePath1 = 'NewFile.php';
unlink($filePath1);
$fp1 = fopen($filePath1, 'a+');
for ($i = 1; $i <= 5; $i++) {
    fwrite($fp1, "Line $i > " . date("Y-m-d h:i:s", time()) . PHP_EOL); 
//    sleep(1);
}
fclose($fp1);

$fp1 = fopen($filePath1, 'r');
for($i = 1 ; $i <= 5 ; $i++) {
    $ch1 = fgetc($fp1);
    $str1 = fgets($fp1);
    e( $ch1 . ' | ' . $str1);
}
fclose( $fp1);

چرا این کد رو نمیشه به این صورت نوشت ؟:


$filePath1 = 'NewFile.php';
unlink($filePath1);
$fp1 = fopen($filePath1, 'a+');
for ($i = 1; $i <= 5; $i++) {
    fwrite($fp1, "Line $i > " . date("Y-m-d h:i:s", time()) . PHP_EOL); 
//    sleep(1);
}

                    
                    
for($i = 1 ; $i <= 5 ; $i++) {
    $ch1 = fgetc($fp1);
    $str1 = fgets($fp1);
    e( $ch1 . ' | ' . $str1);
}
fclose( $fp1);

در این کد دوم من fclose اولی و fopen دومی رو حذف کردم. چرا باید برای هر کاری که میخوایم روی فایل انجام بدیم باید فایل رو باز و بسته کنیم ؟

چرا نمیشه همینطور که فایل باز هست ( قسمت اول کد ) بیایم و یه کار دیگم روش انجام بدیم ( قسمت دوم کد )

الان این کد دوم ارور میده.

ممنون

در تکمیل پست

  عزیز

چون فلگ a+ فقط برای ایجاد و نوشتن در فایل هست و قابلیت خواندن نداره برای سوییچ به حالت خواندن و استفاده از فلگ r باید فایل رو ببندین تا از مود قبلی خارج بشه

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...