Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: проблема с записью fputs в файл
Запись в 'switch.file' не происжодит, файл становиться нулевой длины.
если 'switch.file' нет, то при клике на ссылку он создастся, но будет нулевой длины.
Ошибок (error_reporting = E_ALL ; & ~E_NOTICE) не выдаёт.
атрибутов hiden/readnoly нету на файлах.
.htaccess файлов нету
в fputs вы передали дескриптор файла в который нужно сделать запись а что записывать не передали... тоесть ваша вторая переменная которая должна отвечать за текст, записываемый в файл, не определена.
t0nich
Отправлено: 07 Ноября, 2013 - 20:49:45
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
это только первый раз, а потом ведь при клике на ссылки
"index.php?p=1"
'p' передаётся, да и раньше то именно этот скриптик работал!
teddy
Отправлено: 07 Ноября, 2013 - 20:53:25
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
t0nich пишет:
'p' передаётся, да и раньше то именно этот скриптик работал!
как передается? покажите.
этот ваш "index.php?p=1" есть $_GET параметр.
Когда параметр передатите, как выше(index.php?p=1), запишется единичка в файл или другие данные, которые вы туда введете.
t0nich
Отправлено: 07 Ноября, 2013 - 21:33:33
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
Работает! Вы мой спаситель!
Но честно говоря пока не понял, если есть возможность поясните, плиз.
teddy пишет:
Когда параметр передатите, как выше(index.php?p=1), запишется единичка в файл или другие данные, которые вы туда введете.
так не записывается же так в файл?
и главное, каким образом раньше то работало ?!
и значит при
index.php?p=1
значение 'p' не должно передаваться после самой загрузки по линку ?
?
teddy
Отправлено: 07 Ноября, 2013 - 21:43:53
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
t0nich пишет:
Вы мой спаситель!
пустяки))
Ну смотрите, вы пишите fputs($f, $p); ведь так? эти две переменные должны содержать в себе: Первая, указатель на файл, в который должна быть записана информация, а вторая переменная $p это сама информация. Так вот, переменной $f вы присвоили тот самый указатель на файл $f=fopen('switch.file', 'w+');
а переменной $p у вас не было, соответственно записываться было нечему, поэтому файл и был пустым. А то что вы пишите в адресной строке index.php?p=1 - это вы передаете $_GET параметр(то, что идет после знака вопроса)
тоесть ?p=1 автоматически становится $_GET['p'] а единичка становится значением этого самого $_GET['p']
Вот я и написал, если был $_GET['p'](если в адресной строке вы набрали то что написали выше), тогда "уложи" его значение(в данном случае значением является единица) в переменную $p, которую "используй" в качестве информации, которая должна быть записана в файл, который передан в функцию fputs первым параметром - логика скрипта... (Добавление)
t0nich пишет:
значение 'p' не должно передаваться после самой загрузки по линку ?
если значение p не будет передано, в файл ничего не запишется
t0nich
Отправлено: 07 Ноября, 2013 - 22:05:38
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
Спасибо! Теперь понятно.
Но вот что НЕ понятно, так это как же, чёрт возьми, это раньше могло срабатывать ???
я уверен, что именно такой скрипт работал.
teddy
Отправлено: 07 Ноября, 2013 - 22:49:44
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
t0nich пишет:
я уверен, что именно такой скрипт работал.
Вы путаете что то мне подсказывает, что вы копируя код упустили переменную, которая отвечала за добавляемую информацию...
Либо где то ещё лежал рабочий скрипт(другой файл) и запись проходила через него а не через этот... тут просто напросто нечему было записываться и всё
t0nich
Отправлено: 07 Ноября, 2013 - 23:47:38
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
а если на Линуксе, не могло ?
в том то и дело, что архив есть, из него и брал не первый раз всю цепочку рабочую однажды налаженную.
вообще я упростил для вопроса, а оригинал вот какой был:
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
t0nich пишет:
а если на Линуксе, не могло ?
Не думаю что Линукс автоматически понимает какую переменную php создать и в какую функцию её подставить)) Соответственно нет...
Посмотрите ещё раз хоть на винде хоть на линуксе ваш оригинал, в файл ничего не будет записано т.к не определено что именно должно записываться как я уже говорил выше
Скорее всего вы что то путаете...
t0nich
Отправлено: 08 Ноября, 2013 - 00:34:11
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
В любом случае, спасибо за обстоятельные пояснения.
Теперь всё что нужно работает!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.