SadraHkm 20 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 سلام دوستان میدونیم که برای باز کردن یا درست کردن یک فایل باید از تابع 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 دومی رو حذف کردم. چرا باید برای هر کاری که میخوایم روی فایل انجام بدیم باید فایل رو باز و بسته کنیم ؟ چرا نمیشه همینطور که فایل باز هست ( قسمت اول کد ) بیایم و یه کار دیگم روش انجام بدیم ( قسمت دوم کد ) الان این کد دوم ارور میده. ممنون نقل قول لینک به ارسال
pouria7777 87 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 سلام خیلی مطمئن نیستم اما فکر میکنم به ازای هر فایل fopen باید یک فایل fclose هم موجود باشه . الان شما دو تا فایل دارید یکی دستور نوشتنی هست یکی خواندنی. از ()fcloseall هم میشه استفاده کرد نقل قول لینک به ارسال
Mobin 1669 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در در 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 دومی رو حذف کردم. چرا باید برای هر کاری که میخوایم روی فایل انجام بدیم باید فایل رو باز و بسته کنیم ؟ چرا نمیشه همینطور که فایل باز هست ( قسمت اول کد ) بیایم و یه کار دیگم روش انجام بدیم ( قسمت دوم کد ) الان این کد دوم ارور میده. ممنون در تکمیل پست pouria7777 عزیز چون فلگ a+ فقط برای ایجاد و نوشتن در فایل هست و قابلیت خواندن نداره برای سوییچ به حالت خواندن و استفاده از فلگ r باید فایل رو ببندین تا از مود قبلی خارج بشه 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .