| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Не удается записать в файл |
| Автор: slang 29.7.2005, 22:50 | ||||||
Не выполняется код:
хотя хотелось-бы:
Я так понимаю, проблема в правах на запись, как эту проблему, если я прав, решить? Выдается ошибка:
На локальной машине все выполняется, а вот на стороне сервера - ... |
| Автор: Mal Hack 29.7.2005, 23:06 |
| Да, нет прав. Кстати, на Юникс системе нет понятия дисков, так что запись c:/ тебе ничего не даст. Для Вин систем надо вставлять вставку file://c:/fikle.txt |
| Автор: slang 29.7.2005, 23:09 |
| Т.е. нужно ручками создать файл и ручками задать ему права. Это временнный файл, который имеет ценность пока выполнятся несколько скриптов. Можно-ли передать от скрипта к скрипту информацию, при этом скрипт будет выполняться автоматом (CRON), а не запускатся пользователем, имеет-ли это значение - не знаю, ни разу cron не пользовался. Добавлено @ 23:10 Mal Hack для скрипта, выполняющегося на стороне сервера и нет C:/ |
| Автор: Mal Hack 29.7.2005, 23:15 | ||||
Так. Чую я что ты замудрил больно. Опиши русским языком что ты делаешь и для каких данных планируешь временный файл делать.
Если сервер на Юникс |
| Автор: slang 29.7.2005, 23:34 | ||
| Значит так: в одном скрипте - получаю информацию с другого сайта в виде массива строчек; в следующем обрабатываю эти строчки - достаю необходимую мне информацию; в последнем - отправляю эту информацию на несколько (не определено сколько) mail-адресов. Адреса хранятся или в базе или в файле - не суть важно. Начальные данные беру с http://www.forexite.com/wap/default.wml затем засовываю все это дело в массив:
Теперь, когда есть вся необходимая информация, мне необходимо передать это содержимое другому скрипту, который в зависимости от различных параметров создаст сообщение, которое необходимо будет передать по электронной почте. Скрипт запускается, например, раз в минут и присылает сообщение. |
| Автор: Mal Hack 29.7.2005, 23:41 |
| 1. В соседней теме я тебе сказал, как нужно данные с удаленных файлов получать 2. Что касается файла и 3 скрипта. Да, он идет в крон. Но... Ты делаешь один файл в тойже папке, что и остальные. При записи в него параметров, ты смотришь, если там что-то есть, то ДОписываем, если нет, то ПЕРЕзаписываем файл. В скрипте отсылки данных, после того, как мы отправили данные мы файл очищаем. При этом очень важно использовать жесткую блокировку flock в обоих файлах, чтобы не было проблем. |
| Автор: slang 29.7.2005, 23:55 |
| Как получить данные - я разобрался, как проанализировать и создать необходимое сообщение - тоже, но мне нужно передать информацию, полученную со стороны - скрипту, который выбирает только ту инфу, которая мне нужна, в моем случае - только котировки, а затем эти котировки передать скрипту - отправителю. Все это можно сделать и в одном скрипте, но я пользуюсь несколькими адресами в разное время, поэтому этот нюанс нужно обрабатывать отдельно, мне не нужно получать все котировки в конкретный промежуток времени, этот нюанс тоже нужно обрабатывать и т.д. По этой причине я и хочу разбить все стадии обработки на разные скрипты, просто мне так удобнее и понятнее, а для этого мне и нужно сохранить промежуточные данные в каком-либо файле или еще где. Как вариант можно использовать, просто GET или создать таблицу в базе для этой информации, но с файлом - тоже хотелось-бы разобраться. А файл на стороне сервера я не могу создать/редактировать из скрипта. Как мне назначить необходимые права? И какие права - необходимы? |
| Автор: Mal Hack 30.7.2005, 00:08 |
| slang ты понял алгоритм, который я говорил выше: Файл ты создаешь fopen("./text.txt"); и адльше к нему 3 скриптом обращаешься. |
| Автор: slang 30.7.2005, 00:14 | ||||
Как раз создать файл у меня и не получается, пишет:
в строчке:
|
| Автор: Mal Hack 30.7.2005, 00:36 |
| Ясно. Установи на папку права 755, хотя придется скорее всего ставить 777. НО это плохо. Хостер не хороший. |
| Автор: mr.Anderson 30.7.2005, 12:21 |
| Почему не хороший? У меня точно такая ж проблема была. Права надо ставить 777, и не на папку, а на файл, который надо открыть. |
| Автор: Mal Hack 30.7.2005, 12:34 | ||
sim7 и как ты поставишь права еще не созданному файлу ;)
А потому что права 0777 дают много возможностей сторонним пользователям, что не есть хорошо. |
| Автор: slang 3.8.2005, 12:38 |
| Я разместил папку, в которой хранятся эти файлы за пределами public_html (www). Таким образом получается, что эти файлы не доступны для клиентов и доступны только для скриптов. Думаю, что это достаточно безопасно? |
| Автор: Mal Hack 3.8.2005, 13:58 | ||
Да, несомненно. Только надо теперь смотреть, чтобы пользователи не могли воспользоваться скриптами, которые имеют доступ за www |
| Автор: mr.Anderson 3.8.2005, 17:40 | ||
Пардон, не учел. А как эти самые сторонние пользователи смогут влезть в эту общедоступную папку? Она ж в админке находится, значит, им придется админку ломать, что ли? |