То ли я мануал не внимательно читаю, то ли карма у меня такая, то ли судьба говорит, что мне пора рожать детей, а не программировать, то ли я программер ху..вый.... Прошу открыто мне сказать.
Дорогие друзья, у меня чудным образом не создавался файл.
Т.е. пишу
$h = fopen($this->session_filename,'w');0 эмоций, файла нет
Опытным путем и за счет понижения самооценки заметила, что когда я делаю так:
function __destruct() { ...ничег не работает... файлы не создаются, а я на грани срыва.
$h = fopen('qqq','w'); // не работает!
....
}
Поймите, ведь я
Т.е. если это ( $h = fopen('qqq','w'); ) вызвать не из деструктора, то нормуль, а иначе не нормуль
ткните меня носиком, где написано, что в деструкторе fopen($file,'w') - не создаст файл ?? пожалуйста.
Спустя 4 минуты, 13 секунд (29.03.2010 - 21:14) Adil написал(а):
а зачем в деструкторе fopen? обычно в деструкторе закрывают файлы и освобождают ресурсы..
Спустя 3 минуты, 12 секунд (29.03.2010 - 21:17) olgatcpip написал(а):
Nezabivaemiy да, но мне перед смертью нужно открыть файл записать в него пару ласковх и закрыть.
Спустя 7 минут, 53 секунды (29.03.2010 - 21:25) John_761 написал(а):
А почему не записать, а потом вручную вызвать деструктор?

Спустя 56 секунд (29.03.2010 - 21:26) olgatcpip написал(а):
John_761 на мой взгляд незачем... но я сделала так: открыла в другом месте, записываю и закрываю в деструкторе...
Спустя 4 минуты, 52 секунды (29.03.2010 - 21:31) olgatcpip написал(а):
Хочется добавить...
Вот она разница в мужской и женской логикой!
В моей, женской: перед смертью чего нить создать....
В мужской, тех кто язык программирования делал: перед смертью не надышишься... т.е. освобождаем память, и ничего нельзя создать...
Вот она разница в мужской и женской логикой!
В моей, женской: перед смертью чего нить создать....
В мужской, тех кто язык программирования делал: перед смертью не надышишься... т.е. освобождаем память, и ничего нельзя создать...

Спустя 49 минут, 16 секунд (29.03.2010 - 22:20) krasilich написал(а):
class TestDestructor {
function __construct()
{
echo 'Object created<br>';
}
function __destruct()
{
echo 'Object is dead<br>';
$fh = fopen('fileee.txt', 'w+');
fwrite($fh, 'test_string');
fclose($fh);
}
}
$t = new TestDestructor;
unset($t);
Код отработал без ошибок и сделал то, что от него и ждали: вывел две строки в поток и создал файл с тестовой строкой.
PHP 5.2.10
olgatcpip, как у тебя вызывается деструктор?
Спустя 9 минут, 2 секунды (29.03.2010 - 22:29) Adil написал(а):
krasilich Тут дело не версиях php. Ты еще до завершения скрипта сам уничтожаешь объет.
Но к тому же ты в ручную закрываешь открытый файл. Не сделай ты fclose() этот файл останется открытым. Что уничтожает сам смысл деструктора.. а что будет с другими открытыми файлами и подключениями, если их в ручную не закрывать?
P.S. хотя может это у меня вредная привычка все оставлять на плечи деструктору..
unset($t);
Но к тому же ты в ручную закрываешь открытый файл. Не сделай ты fclose() этот файл останется открытым. Что уничтожает сам смысл деструктора.. а что будет с другими открытыми файлами и подключениями, если их в ручную не закрывать?
P.S. хотя может это у меня вредная привычка все оставлять на плечи деструктору..

Спустя 10 минут, 44 секунды (29.03.2010 - 22:40) krasilich написал(а):
Nezabivaemiy
Не понял наезда если честно.
ТС'ом не было указанно как вызывается деструктор, ансетом, при завершении скрипта или еще как.
Чем мой вариант не демонстрация того, что в деструкторе можно записать файл?
Да, еще один момент, я проверил свой скрипт, убрав ансет, тоесть деструктор вызывался при завершении скрипта, и, знаете, скрипт все равно выдал то, что я и хотел получить. Две строки в браузере и файл. Единственное что, пришлось указывать абсолютный путь к файлу, с документ_рутом.
Не понял наезда если честно.
ТС'ом не было указанно как вызывается деструктор, ансетом, при завершении скрипта или еще как.
Чем мой вариант не демонстрация того, что в деструкторе можно записать файл?
Да, еще один момент, я проверил свой скрипт, убрав ансет, тоесть деструктор вызывался при завершении скрипта, и, знаете, скрипт все равно выдал то, что я и хотел получить. Две строки в браузере и файл. Единственное что, пришлось указывать абсолютный путь к файлу, с документ_рутом.
Спустя 5 секунд (29.03.2010 - 22:40) olgatcpip написал(а):
krasilich? спасибо за пример. да работает.. твой пример...
а я тууупо вставила
Все, я решила, бросай программирование, не мое, уж слижком много свякого не понятного... пойду искать работу ..
Всем пока!
а я тууупо вставила
echo 'Object is dead<br>';в свой конструктор и... не отработал...
$fh = fopen('fileee.txt', 'w+');
fwrite($fh, 'test_string'); fclose($fh);
Все, я решила, бросай программирование, не мое, уж слижком много свякого не понятного... пойду искать работу ..
Всем пока!
Спустя 2 минуты, 44 секунды (29.03.2010 - 22:43) Adil написал(а):
krasilich какой наезд? Я просто написал что дело не в версиях php, а я в явном уничтожении объекта до завершения скрипта.
Цитата (krasilich @ 29.03.2010 - 23:40) |
Да, еще один момент, я проверил свой скрипт, убрав ансет, тоесть деструктор вызывался при завершении скрипта, и, знаете, скрипт все равно выдал то, что я и хотел получить. Две строки в браузере и файл. Единственное что, пришлось указывать абсолютный путь к файлу, с документ_рутом. |
ну значит я не прав, пойду потестирую этот момент..
Спустя 1 минута, 20 секунд (29.03.2010 - 22:44) twin написал(а):
Цитата |
уж слижком много свякого не понятного... пойду искать работу .. Всем пока! |
Мнда... Если бы я после каждого такого казуса искал работу, не хватило бы профессий на свете
Спустя 2 минуты, 1 секунда (29.03.2010 - 22:46) krasilich написал(а):
olgatcpip
Цитата |
Все, я решила, бросай программирование, не мое, уж слижком много свякого не понятного... пойду искать работу .. Всем пока! |
Уж лучше замуж=))
Вообще может таки проблема в пути к файлу?
Путь абсолютный указан??
Спустя 5 минут, 46 секунд (29.03.2010 - 22:52) John_761 написал(а):
Дааа, странно
krasilich, твой скрипт работает, без ансета работать перестает, но снова запускается, если указать абсолютный путь
интересно, в чем же смысл

krasilich, твой скрипт работает, без ансета работать перестает, но снова запускается, если указать абсолютный путь
интересно, в чем же смысл

Спустя 7 минут, 40 секунд (29.03.2010 - 23:00) sergeiss написал(а):
Цитата (olgatcpip @ 29.03.2010 - 23:40) |
пойду искать работу .. |
Цитата (olgatcpip @ 29.03.2010 - 22:10) |
то ли судьба говорит, что мне пора рожать детей, а не программировать |
Ты уж определись, что тебе надо больше

Спустя 1 час, 24 минуты, 25 секунд (30.03.2010 - 00:24) krasilich написал(а):
Цитата (John_761 @ 29.03.2010 - 21:52) |
Дааа, странно ![]() krasilich, твой скрипт работает, без ансета работать перестает, но снова запускается, если указать абсолютный путь интересно, в чем же смысл ![]() |
Это тоже наезд???
Спустя 25 минут, 3 секунды (30.03.2010 - 00:49) John_761 написал(а):
Нет конечно, не наезд, просто не могу разобраться и понять почему так...
_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif