С помощью этой функции я хочу создать файл на сервере. Но каждый раз выдается ошибка...
Поэтому появились вопросы:
1) Необходимо ли указывать логин и пароль от ftp при записи файла?
2) Файл subscribe.txt создается в той же папке, где и исполняемый
php-файл лежит?
3) Может в функции какие ошибки?)
Заранее спасибо.
Спустя 11 минут, 3 секунды (20.06.2009 - 10:14) glock18 написал(а):
Привет.
Собственно, ты не сказал самое главное
- какая ошибка выдается?
Спустя 5 минут, 10 секунд (20.06.2009 - 10:19) ViaScientarium написал(а):
А каким образом можно узнать тип ошибки?
Спустя 18 минут, 52 секунды (20.06.2009 - 10:38) stepan написал(а):
Запустить и посмотреть что он тебе напишит, если ни чего тогда все работает.
1 нет
2 смотря какой путь скажеш
3 я не увидел входных параметров т.е. он тебе в текстовый документ запишит пустоту.
Спустя 39 минут, 10 секунд (20.06.2009 - 11:17) ViaScientarium написал(а):
Спустя 32 минуты, 47 секунд (20.06.2009 - 11:50) ViaScientarium написал(а):
И возник еще один вопрос:
есть переменная
PHP |
$subs_mail = $_POST['subs_mail']; |
В эту переменную записывается определенная строка.
Но функция
PHP |
fwrite($fp, $subs_mail); |
не записывает значение $subs_mail.
Но
срабатывает.
Спустя 6 минут, 7 секунд (20.06.2009 - 11:56) gletscherl написал(а):
а зачем
PHP |
$subs_mail = $_POST['subs_mail']; fwrite($fp, $subs_mail); |
если можно
PHP |
fwrite($fp, $_POST['subs_mail']); |
и какая у тебя версия PHP?
Спустя 8 минут, 29 секунд (20.06.2009 - 12:04) ViaScientarium написал(а):
Переменная $subs_mail еще в некоторых местах у меня используется, поэтому решил сделать так.
Версия PHP - 5.2.6-0.5
Спустя 9 секунд (20.06.2009 - 12:04) glock18 написал(а):
Цитата (gletscherl @ 20.06.2009 - 08:56) |
а зачем
PHP | $subs_mail = $_POST['subs_mail']; fwrite($fp, $subs_mail); |
если можно
PHP | fwrite($fp, $_POST['subs_mail']); |
и какая у тебя версия PHP?
|
А вот это очень неправильно.
переменная может быть не передана постом.
в любом случае нужно проверять была ли переменная инициализирована, если это не известно однозначно.
ViaScientarium, ты пробовал выводить содержимое этой переменной на экран перед тем как писать ее в файл? в ней точно есть то, что тебе нужно?
Спустя 7 минут, 6 секунд (20.06.2009 - 12:11) ViaScientarium написал(а):
Да, содержимое переменной определяется. Например:
PHP |
echo''.$subs_mail.''; |
выдает: test@mail.ru
Значение переменной определяется вводом в форму. После нажатия на кнопку, происходит выполнение записи в файл. Переменная получает необходимое значение. Но не записывается в файл...
Спустя 38 минут, 12 секунд (20.06.2009 - 12:50) glock18 написал(а):
PHP |
fwrite($fp, $subs_mail); |
а файлик то у вас открыт уже? fopen'ом
Спустя 9 минут, 46 секунд (20.06.2009 - 12:59) ViaScientarium написал(а):
Вот полный код:
PHP |
$subs_mail = $_POST['subs_mail'];
function subs_file(){ $path = "uploads/subscribe.txt"; if (file_exists($path)){ $fp = fopen ($path, "r+"); $test = fwrite($fp, $subs_mail); //if (!$test) echo "Cannot write to file"; fclose($fp); }else{ $fp = fopen($path, "w"); $test = fwrite($fp, $subs_mail); fclose($fp); } }
If ($_POST["subs_button"]){ subs_file(); ..... } |
Спустя 8 минут, 7 секунд (20.06.2009 - 13:07) ViaScientarium написал(а):
Проблема разрешилась..
Оказывается надо было добавить в саму функцию строку:
PHP |
$subs_mail = $_POST['subs_mail']; |
Спустя 11 минут, 41 секунда (20.06.2009 - 13:19) glock18 написал(а):
Цитата (ViaScientarium @ 20.06.2009 - 10:07) |
Оказывается надо было добавить в саму функцию строку: |
Лучше параметром функции передать.
Спустя 13 минут, 46 секунд (20.06.2009 - 13:33) stepan написал(а):
Это не правильное решение я же тебе написал что укажи входной параметр т.е.
PHP |
function subs_file($wr){ ... fwrite($fp, $wr) ;
... } |
а саму функцию тогда вызываеш subs_file($subs_mail) а если пользоваться твоим решением то тогда функция будет предназначена только для записи мыла.
Спустя 31 минута, 31 секунда (20.06.2009 - 14:04) ViaScientarium написал(а):
Ок, спасибо за подсказку.
Я думал, что глобальные переменные можно использовать в самих функциях.