Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
5 / 2 / 0
Регистрация: 12.07.2014
Сообщений: 160
1

Warning: fclose(): supplied resource is not a valid stream resource in

21.01.2021, 09:18. Просмотров 1941. Ответов 5

Доброе утро!

Вылазит ошибка "Warning: fclose(): supplied resource is not a valid stream resource in /var/www/html/question.php on line 11"
в коде:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$text = "Hellow!";
$open = fopen("my_orders.txt", "ab");
if (!@open)
    echo "Не могу открыть файл";
else{
    flock($open, LOCK_EX);
    fwrite($open, $text);
    flock($open, LOCK_UN);
    fclose($open);
    $close = fclose($open);
    if ($close)
        echo "Файл не закрыт";
}
?>
По идее $close принимает два значения true и false. И если false, то выводится сообщение пользователю. А тут вадает, что "предоставленный ресурс не является допустимым потоковым ресурсом".

Как корректно написать, чтобы было без ошибок?

p.s.: заранее спасибо за ответы!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2021, 09:18
Ответы с готовыми решениями:

Warning: imagecopy(): supplied argument is not a valid Image resource
Вот скрипт: $image_x = $image_width - $logo_width - 10; $image_y = $image_height - $logo_height -...

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Доброго времени суток, пользователи и администраторы форума! Я кто-то вроде &quot;ученика&quot; в MySQL, да и...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Подключаюсь к БД &lt;?php $db = mysql_connect (&quot;localhost&quot;,&quot;we&quot;,&quot;12345&quot;); mysql_select_db...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
На хостинге всё работает отлично, а вот на сервере выдает следующие ошибки: - Warning:...

5
1265 / 850 / 469
Регистрация: 23.08.2015
Сообщений: 2,263
21.01.2021, 09:47 2
sasha300, 10-11 строка Вы дважды вызываете fclose($open)
1
5 / 2 / 0
Регистрация: 12.07.2014
Сообщений: 160
21.01.2021, 09:50  [ТС] 3
Так вроде бы в 10 строке вызываю функцию, а в 11 строке присваиваю значение этой функции переменной $close
Или я не понял о чем речь..
0
1265 / 850 / 469
Регистрация: 23.08.2015
Сообщений: 2,263
21.01.2021, 09:59 4
Лучший ответ Сообщение было отмечено sasha300 как решение

Решение

sasha300, Функция выполняется в обоих случаях. Вы можете удалить 10-ю строку.
1
5 / 2 / 0
Регистрация: 12.07.2014
Сообщений: 160
21.01.2021, 10:08  [ТС] 5
Цитата Сообщение от sad67man Посмотреть сообщение
Функция выполняется в обоих случаях.
Спасибо! Но я не понял логику. Почему при присвоении значения переменной
PHP
1
$close = fclose($open);
происходит выполнение этой функции?
Как думал я: на 10-ой строчке функция корректно сработала, закрыв файл.
На 11-ой строчке что происходи? Справа true, так как fclose($open) успешно выполнила свою функцию. Ну тогда $close = true. Это как-бы, а тут происходит выполнение фукции при ее присвоении к другой переменной! Это что за прикол?
0
1265 / 850 / 469
Регистрация: 23.08.2015
Сообщений: 2,263
21.01.2021, 10:20 6
Лучший ответ Сообщение было отмечено sasha300 как решение

Решение

sasha300, Для любой функции как только вы добавляете круглые скобки - она выполняется. Эта функция не хранит состояний.
PHP
1
$close = fclose($open);
Сначала выполняется правая часть кода, результат уже присваивается переменной.
PHP
1
fclose($open);
В первом случае она так же выполнилась, только результат ее выполнения вы никуда не присваивали - оно ушло вникуда)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2021, 10:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
помогите залил файлы всё прописал но выдаёт ошибку на линии Warning: mysql_fetch_array():...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Добрый день, господа! Заранее прошу не судить стого, т.к. только-только начинаю изучать РНР и...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Вечер добрый Делал вот регистрацию по примеру (http://ruseller.com/lessons.php?rub=37&amp;id=347) на...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
помогите решить проблему. хочу вытянуть из базы поле но почему то показывает ошибку Warning:...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
&lt;?php include (&quot;blokc/db.php&quot;); $result = mysql_query(&quot;SELECT title,meta_d,meta_k,taxt FROM...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
sto eta za osibra? pojalista pamaqite Добавлено через 1 минуту kod takoy $vr_st =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.