رفتن به مطلب

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


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

سلام دوستان

میدونیم که برای باز کردن یا درست کردن یک فایل باید از تابع 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 باید فایل رو ببندین تا از مود قبلی خارج بشه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...