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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение на сервере файла (вторая попытка:)), HTML-код которого передан в переменной 
:(
    Опции темы
Alx
Дата 28.2.2004, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



Iz@top, я оттуда!((( там тоже ни хрена! Смотри, вначале, када права на папке были 755, а на скрипте 644, были такие ошибки:

Warning: fopen(cards/3025572.php): failed to open stream: Permission denied in /usr/apache/htdocs/myfree_content/alexandro.w6.ru/greet.php on line 19

Warning: fwrite(): supplied argument is not a valid stream resource in /usr/apache/htdocs/myfree_content/alexandro.w6.ru/greet.php on line 20

Warning: fclose(): supplied argument is not a valid stream resource in /usr/apache/htdocs/myfree_content/alexandro.w6.ru/greet.php on line 21

а когда права установил 777 на скрипт и на папку cards стало

Warning: fwrite(): supplied argument is not a valid stream resource in /usr/apache/htdocs/myfree_content/alexandro.w6.ru/greet.php on line 20

Warning: fclose(): supplied argument is not a valid stream resource in /usr/apache/htdocs/myfree_content/alexandro.w6.ru/greet.php on line 21

в папке стали сохраняться файлы, но они по 0 байт и с правами 644. можеть на них тоже нужно как-то установить 777? я пробовал, ошибка в FTP-клиенте, причем потом и все остальные файлы переставали позволять изменять права, пришлось перезагружать FTP-клиент, всё было нормально со всеми файлами, но созданные все равно не переделывались! я слышал, можно как-то из скрипта задавать права?


--------------------
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 28.2.2004, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



ALEXANDRO, нужно 666 права на файлы в которые хочешь произвести запись. То есть, создаем файл
$f = fopen("cards/{$rand}", "w");
fclose($f);
chmod("cards/{$rand}", 0666);

И еще совет - когда работаешь с файлами, то воизбежание серьезных ошибок, работай с функциями открытия/закрытия файлов/каталогов примерно так:
$f = fopen("cards/{$rand}", "a+") or die("Невозможно открыть файл.\r\n Source:".__FILE__."\r\nLINE:".__LINE__."\r\n"); ... и т.п.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Alx
Дата 28.2.2004, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



Ок, щас попробую:

Цитата

<?
$content="
<html>
<head>
<title>Открытка</title>
</head>
<body>"
.$_REQUEST[code].
"</body>
</html>";
$nameFound=false;
do
{$name="cards/".rand(0,10000000).".php";
if(!file_exists($name))
{$nameFound=true;
}
}
while(!$nameFound);
fopen($name,"w");
fwrite($fp,$content);
fclose($fp);
chmod($name, 0666);
?>


так? кста, вопрос к MuToGeN'у, что значить $fp?

Это сообщение отредактировал(а) ALEXANDRO - 28.2.2004, 19:08


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 28.2.2004, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



а, я понял, ты наверное ошибся, сказал заменить

$fp=fopen(...)

на

$nameFound=false;
do
{$name="cards/".rand(0,10000000).".php";
if(!file_exists($name))
{$nameFound=true;
}
}
while(!$nameFound);
fopen($name,"w");

а $fp забыл, т.е. правильный код

Цитата
<?
$content="
<html>
<head>
<title>Открытка</title>
</head>
<body>"
.$_REQUEST[code].
"</body>
</html>";
$nameFound=false;
do
{$name="cards/".rand(0,10000000).".php";
if(!file_exists($name))
{$nameFound=true;
}
}
while(!$nameFound);
$fp=fopen($name,"w");
fwrite($fp,$content);
fclose($fp);
chmod($name, 0666);
?>


так?


--------------------
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 29.2.2004, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



ALEXANDRO, $fp, он же как тебе вздумается переменную обозвать, дескриптор открытого файла, то есть указатель на тот файл который ты открыл с помощью fopn. Он необходим для функций fputs, fgets, fwrite и fclose.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 29.2.2004, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
while(!$nameFound);
fopen($name,"w");
fwrite($fp,$content);
fclose($fp);
chmod($name, 0666);

Это не прет. Нужно сначало создать файл, закрыть, поставить чмоды, а потом снова открыть и записать в него то что нужно.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Alx
Дата 29.2.2004, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



о, господи!))) в принципе у меня и так все работает, ну ладно, ща попробую, а после чего надо писать "or die" после fopen(), fwrite() или fclose()?

Так, значить:

<?
$content="
<html>
<head>
<title>Открытка</title>
</head>
<body>"
.$_REQUEST[code].
"</body>
</html>";
$nameFound=false;
do
{$name="cards/".rand(0,10000000).".php";
if(!file_exists($name))
{$nameFound=true;
}
}
while(!$nameFound);
$fp=fopen($name,"w");
fclose($fp);
chmod($name, 0666);
$fp=fopen($name,"w");
fwrite($fp,$content);
fclose($fp);

?>

З.Ы.,
Цитата
Он необходим для функций fputs, fgets, fwrite и fclose.

дай, плз, ссылочку, где про них почитать мона, тока не очень объёмисто, ок?!


--------------------
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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