Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не удается записать в файл, где ошибка - подскажите? 
:(
    Опции темы
slang
Дата 29.7.2005, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Не выполняется код:
Код

$quote="C:\quote.txt";
$file_quote=fopen($quote,'w+');
fclose($file_quote);


хотя хотелось-бы:

Код

$quote="quote.txt";
$file_quote=fopen($quote,'w+');
fclose($file_quote);


Я так понимаю, проблема в правах на запись, как эту проблему, если я прав, решить?

Выдается ошибка:
Цитата

Warning: fopen(C:\quote.txt): failed to open stream: Permission denied in /home/ххх/public_html/ххх/read-quote.php on line 10

На локальной машине все выполняется, а вот на стороне сервера - ...

Это сообщение отредактировал(а) slang - 29.7.2005, 23:06


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 29.7.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Да, нет прав.
Кстати, на Юникс системе нет понятия дисков, так что запись c:/ тебе ничего не даст.
Для Вин систем надо вставлять вставку file://c:/fikle.txt
PM ICQ   Вверх
slang
Дата 29.7.2005, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Т.е. нужно ручками создать файл и ручками задать ему права. Это временнный файл, который имеет ценность пока выполнятся несколько скриптов. Можно-ли передать от скрипта к скрипту информацию, при этом скрипт будет выполняться автоматом (CRON), а не запускатся пользователем, имеет-ли это значение - не знаю, ни разу cron не пользовался.
Добавлено @ 23:10
Mal Hack
для скрипта, выполняющегося на стороне сервера и нет C:/


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 29.7.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(slang @ 30.7.2005, 00:09)
Т.е. нужно ручками создать файл и ручками задать ему права. Это временнный файл, который имеет ценность пока выполнятся несколько скриптов. Можно-ли передать от скрипта к скрипту информацию, при этом скрипт будет выполняться автоматом (CRON), а не запускатся пользователем, имеет-ли это значение - не знаю, ни разу cron не пользовался.

Так. Чую я что ты замудрил больно. Опиши русским языком что ты делаешь и для каких данных планируешь временный файл делать.

Цитата(slang @ 30.7.2005, 00:09)
для скрипта, выполняющегося на стороне сервера и нет C:/

Если сервер на Юникс smile
PM ICQ   Вверх
slang
Дата 29.7.2005, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Значит так:
в одном скрипте - получаю информацию с другого сайта в виде массива строчек;
в следующем обрабатываю эти строчки - достаю необходимую мне информацию;
в последнем - отправляю эту информацию на несколько (не определено сколько) mail-адресов. Адреса хранятся или в базе или в файле - не суть важно.
Начальные данные беру с
информация
затем засовываю все это дело в массив:
Код

<?php
$url_quote="http://www.forexite.com/wap/default.wml";
@ $file_http=fopen($url_quote, 'r');
if(!$file_http){
  exit;
}
else
{
while(!feof($file_http)){
  $string[]=fgets($file_http);
}
fclose($file_http);
}
$url_quote="http://www.forexite.com/wap/new.wml";
@ $file_http=fopen($url_quote, 'r');
if(!$file_http){
  exit;
}
else
{
while(!feof($file_http)){
  $string[]=fgets($file_http);
}
fclose($file_http);
}

?>

Теперь, когда есть вся необходимая информация, мне необходимо передать это содержимое другому скрипту, который в зависимости от различных параметров создаст сообщение, которое необходимо будет передать по электронной почте.
Скрипт запускается, например, раз в минут и присылает сообщение.

Это сообщение отредактировал(а) slang - 29.7.2005, 23:37


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 29.7.2005, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



1. В соседней теме я тебе сказал, как нужно данные с удаленных файлов получать
2. Что касается файла и 3 скрипта. Да, он идет в крон.
Но...
Ты делаешь один файл в тойже папке, что и остальные.
При записи в него параметров, ты смотришь, если там что-то есть, то ДОписываем, если нет, то ПЕРЕзаписываем файл.

В скрипте отсылки данных, после того, как мы отправили данные мы файл очищаем.

При этом очень важно использовать жесткую блокировку flock в обоих файлах, чтобы не было проблем.
PM ICQ   Вверх
slang
Дата 29.7.2005, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Как получить данные - я разобрался, как проанализировать и создать необходимое сообщение - тоже, но мне нужно передать информацию, полученную со стороны - скрипту, который выбирает только ту инфу, которая мне нужна, в моем случае - только котировки, а затем эти котировки передать скрипту - отправителю. Все это можно сделать и в одном скрипте, но я пользуюсь несколькими адресами в разное время, поэтому этот нюанс нужно обрабатывать отдельно, мне не нужно получать все котировки в конкретный промежуток времени, этот нюанс тоже нужно обрабатывать и т.д. По этой причине я и хочу разбить все стадии обработки на разные скрипты, просто мне так удобнее и понятнее, а для этого мне и нужно сохранить промежуточные данные в каком-либо файле или еще где. Как вариант можно использовать, просто GET или создать таблицу в базе для этой информации, но с файлом - тоже хотелось-бы разобраться. А файл на стороне сервера я не могу создать/редактировать из скрипта. Как мне назначить необходимые права? И какие права - необходимы?


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 30.7.2005, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



slang ты понял алгоритм, который я говорил выше:
Файл ты создаешь fopen("./text.txt"); и адльше к нему 3 скриптом обращаешься.
PM ICQ   Вверх
slang
Дата 30.7.2005, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Как раз создать файл у меня и не получается, пишет:
Цитата

Warning: fopen(./text.txt): failed to open stream: Permission denied in /home/kidalovo/public_html/sms/read-quote.php on line 10

в строчке:
Код

$file_quote=fopen("./text.txt", "w");




--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 30.7.2005, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Ясно. Установи на папку права 755, хотя придется скорее всего ставить 777. НО это плохо. Хостер не хороший.
PM ICQ   Вверх
mr.Anderson
Дата 30.7.2005, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Почему не хороший? У меня точно такая ж проблема была. Права надо ставить 777, и не на папку, а на файл, который надо открыть.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 30.7.2005, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



sim7 и как ты поставишь права еще не созданному файлу ;)

Цитата(sim7 @ 30.7.2005, 13:21)
Почему не хороший?

А потому что права 0777 дают много возможностей сторонним пользователям, что не есть хорошо.
PM ICQ   Вверх
slang
Дата 3.8.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Я разместил папку, в которой хранятся эти файлы за пределами public_html (www). Таким образом получается, что эти файлы не доступны для клиентов и доступны только для скриптов. Думаю, что это достаточно безопасно?


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 3.8.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(slang @ 3.8.2005, 13:38)
Я разместил папку, в которой хранятся эти файлы за пределами public_html (www). Таким образом получается, что эти файлы не доступны для клиентов и доступны только для скриптов. Думаю, что это достаточно безопасно?

Да, несомненно. Только надо теперь смотреть, чтобы пользователи не могли воспользоваться скриптами, которые имеют доступ за www smile
PM ICQ   Вверх
mr.Anderson
Дата 3.8.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Цитата
sim7 и как ты поставишь права еще не созданному файлу ;)

Пардон, не учел. smile
А как эти самые сторонние пользователи смогут влезть в эту общедоступную папку? Она ж в админке находится, значит, им придется админку ломать, что ли?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1359 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.