Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 332
от 06.05.2006, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 286, Экспертов: 33
В номере:Вопросов: 5, Ответов: 10


Вопрос № 41683: Доброй ночи! Как можно создать таймер в php, чтобы можно было его запускать, останавливать, обнулять? Заранее спасибо!...
Вопрос № 41689: Здорова всем! Вопрос состоит в слудующем: как сохранить загруженный файл на сервере в папке xxx/xxx/. пробовал многое на локалке работает, а вот на сервере с правами какие то проблемы. Может подскажити что не так вообще гружу так для примеру: fil...
Вопрос № 41715: 1.Как создать систему аккаунтов пользователей на сайте? 2.Как организовать прием платежей с сайта. Интересуют системы WebMoney и E-Gold? Дайте ссылочки на статьи по этим темам, please!...
Вопрос № 41729: Здравствуйте! Помогите пожалуйста с кодом... нужно прочитать графический файл(gif)и выдать в браузер. И в коде HTML как написать? Спасибо...
Вопрос № 41744: Здравствуйте! Есть такой вопрос: Существует база данных MySql. Есть на моём компьютере и на удалённом сервере. Допустим, добавил я некоторые записи в таблицы у себя на компе. Как перенести эти изменения на удалённый сервер? Надо делать эк...

Вопрос № 41.683
Доброй ночи! Как можно создать таймер в php, чтобы можно было его запускать, останавливать, обнулять? Заранее спасибо!
Отправлен: 30.04.2006, 01:02
Вопрос задал: Грицай Алексей Юрьевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Грицай Алексей Юрьевич!

Средствами PHP этого сделать нельзя, но можно с помощью JavaScript.
Пример посмотри здесь: http://www.creater.ru/index.php?section=scripts&id=421
---------
Ответы на все вопросы - на сайте www.ya.ru :)
Ответ отправил: Устинов Сергей Евгеньевич (статус: 6-ой класс)
Ответ отправлен: 30.04.2006, 09:14

Отвечает: Ерёмин Андрей
Здравствуйте, Грицай Алексей Юрьевич!
Гм! Первый и, видимо, последний вопрос: а зачем в PHP нужен таймер? Что он даст? Затормозит выполнение кода и пользователю придётся ждать некоторое время, пока страница сгенерируется и загрузится?
Вот на JavaScript можно таймер сделать - ведь это уже будет работать во время открытой страницы. Делается так:
setTimeout("Func()",2500);
Параметры: название функции для вызова и число миллисекунд как задержка перед этим вызовом.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 30.04.2006, 10:15

Отвечает: Zysoftik
Здравствуйте, Грицай Алексей Юрьевич!

В самом PHP таймер действительно не за чем. Но, поскольку я не знаю истинную задачу таймера, расскажу про еще один вариант.

В панели управления хостингом есть возможность использовать утилиту Cron (для Unix-систем). Ее цель - выполнять команды по расписанию (как планировщик задач в Windows). Суть метода заключается в том, что один PHP скрипт выполняется каждую минуту (через Cron). При запуске, он подключается к базе, читает файл или еще каким либо способом считывает свое расписание. Затем, если текущие параметры удовлетворяют расписанию, выполняет какие-то действия.

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

Это, кончено, не таймер, а расписание, но может это и есть то что надо.
Если же цель таймера - создавать задержку, проще использовать ф-цию

int sleep ( int seconds )
Ответ отправил: Zysoftik (статус: 4-ый класс)
Ответ отправлен: 30.04.2006, 12:23


Вопрос № 41.689
Здорова всем! Вопрос состоит в слудующем: как сохранить загруженный файл на сервере в папке xxx/xxx/. пробовал многое на локалке работает, а вот на сервере с правами какие то проблемы. Может подскажити что не так вообще гружу так для примеру:
file - имя для загрузки в форме...
$path ='home/xxx/xxx/'
mkdir($path,666);
формирования пути для сохранения
$path .='/'.basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'],$path))
{а тут что то нужное после загрузки}

кроме того хотелось бы узнать как загрузить несколько файлов и обработать их. Я указывал имя как att[] но в массиве у меня получается все равно только 0 элемент и все(
вот пример(прикрипления аттачментов прикрепляется как в яндексе. в форме все указано как надо имя att[] данные и файлы тоже)
if (IsSet($_FILES['att']))
{
print_r($_FILES['att']);
For ($i = 0;$i <= count($_FILES['att']); $i++)
{
if ($_FILES['att']['size'][$i] <> 0)
{
$f = fopen($_FILES['att']['tmp_name'][$i],"r");
$body .= "------------".$un." ";
$body .= "Content-Type: ".$_FILES['att']['type'][$i].";";
$body .= "name="".$_FILES['att']['name'][$i]."" ";
$body .= "Content-Transfer-Encoding:base64 ";
$body .= "Content-Disposition:attachment;";
$body .= "filename="".$_FILES['att']['name'][$i]."" ";
$body .= chunk_split(base64_encode(fread($f,filesize($_FILES['att']['size'][$i]))))." ";
fclose($f);
}
}
всем огромное спасибо за любые советы!
Отправлен: 30.04.2006, 03:30
Вопрос задал: Trilinx (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zysoftik
Здравствуйте, Trilinx!

Насчет прав:
Попробуйте указать права не 666, а 777.

По нескольким файлам:
В массиве $_FILES перечислены все загруженные методом POST и уложенные в temp-каталог файлы. Но каждый элемент этого массива отвечает только за один файл. Т.е. для обращения к файлам через этот массив, справедливо так:

$_FILES['myfile1']['tmp_name']
$_FILES['myfile2']['tmp_name']

Чтобы получить список файлов (а затем и их параметры) лучше так:

<?
...

echo 'Переменные файлов, загруженных на сервер:<br>';
while (list($key, $value)=each($_FILES))
{

echo $_FILES[$key].'<br>';

//Тут можно обработать файл

}

...
?>
Ответ отправил: Zysoftik (статус: 4-ый класс)
Ответ отправлен: 30.04.2006, 18:32
Оценка за ответ: 4


Вопрос № 41.715
1.Как создать систему аккаунтов пользователей на сайте?
2.Как организовать прием платежей с сайта. Интересуют системы WebMoney и E-Gold?

Дайте ссылочки на статьи по этим темам, please!
Отправлен: 30.04.2006, 12:12
Вопрос задал: Alexorg (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Madproger
Здравствуйте, Alexorg!

По взаимодействию с платежными системами
http://phpclub.ru/faq/wakka.php?wakka=EMoney&v=q7w

Насчет системы аккаунтов я немного не понял что именно тебя интересует...
Если в общем
то примерно навскидку так
1) Хранить информацию об аккаунте в БД
2) Пароль можно хранить в зашифрованном виде (потом сравнивать шифорованные сроки например так ... WHERE pass = MD5('your_pass');
3) При попытке аккаунта проверять на наличие такого логина и правильность пароля в БД
4) Для хранения информации о аккаунте лучше юзать сессии (ИМХО, т.к. кукисы их можно отключить в браузере)
----о сессиях http://phpfaq.ru/sessions

Вот так вкратце, если что то более подробно об аккаунтенге - напиши подробнее вопрос, что именно там не понятно
---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 5-ый класс)
Ответ отправлен: 01.05.2006, 02:36


Вопрос № 41.729
Здравствуйте!
Помогите пожалуйста с кодом...
нужно прочитать графический файл(gif)и выдать в браузер.
И в коде HTML как написать?
Спасибо

Приложение:

Отправлен: 30.04.2006, 17:28
Вопрос задала: YASMIN (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, YASMIN!
А что, собственно, не устраивает? У вас почти правильный код, только в строке $img=imagecreatefromgif($ff); вместо содержимого файла нужно написать путь к нему или URL, т.е. в данном случае должно быть $img=imagecreatefromgif($fn); А отдавать очень просто - <img src="mygif.php">, где mygif.php делает вышеописанное.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 30.04.2006, 18:04
Оценка за ответ: 4
Комментарий оценки:
не работает и пишет Warning: imagegif(): supplied argument is not a valid Image resource

Отвечает: Zysoftik
Здравствуйте, YASMIN!

На самом деле, похоже ошибка в использовании функции imagecreatefromgif.
Эта функция должна принимать в качестве параметра не сожержимое графического файла, а указание его имени и пути.
Т.е. надо писать не
imagecreatefromgif($ff);
а
imagecreatefromgif('mypath/myfile.gif');

Тогда в ответ функция вернет идентификатор открытого GIF ресурса.
Ответ отправил: Zysoftik (статус: 4-ый класс)
Ответ отправлен: 30.04.2006, 21:46
Оценка за ответ: 4

Отвечает: Jeka911
Здравствуйте, YASMIN!

Еще есть такая хитрость...
Если мы получаем вывод скрипта через img (img src=script.php), то нам нет необходимости передавать заголовки, использовать функции для разных форматов.
Если браузер получает картинку, через img, он ее формат разпознает сам.

Приложение:

---------
Шахтер - чемпион!!!

Ответ отправил: Jeka911 (статус: 2-ой класс)
Ответ отправлен: 01.05.2006, 12:03


Вопрос № 41.744
Здравствуйте!
Есть такой вопрос:
Существует база данных MySql. Есть на моём компьютере и на удалённом сервере. Допустим, добавил я некоторые записи в таблицы у себя на компе. Как перенести эти изменения на удалённый сервер?
Надо делать экспорт? Если да, то как? phpMyAdmin установлен...
Извините за туфтологию, по другому обьяснить не могу.
Отправлен: 30.04.2006, 21:26
Вопрос задал: Dushin Igor (статус: 6-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Dushin Igor!

Ну если есть phpMyAdmin то действия такие:
Для экспортирования:
- Открываешь нужную базу данных
- В верхнем меню пункт "Экспорт"
- В списке слева выделяешь необходимые таблицы (или нажимаешь "Отметить все")
- Под списком ставишь переключатель в пункт SQL
Остальные параметры можешь оставить включенными по умолчанию.
- Внизу ставишь галочку в пункте "Послать"
- Сжатие "нет"
- Кнопка "Пошел"
Сохраняешь файл *.sql, его там с помощью phpMyAdmina удаленного сервера импортируешь:
При открытой базе данных пункт "Import". С помощью кнопки "Обзор" показываешь место расположения файла *.sql и нажимаешь "Пошел"
---------
Ответы на все вопросы - на сайте www.ya.ru :)
Ответ отправил: Устинов Сергей Евгеньевич (статус: 6-ой класс)
Ответ отправлен: 30.04.2006, 21:36
Оценка за ответ: 5

Отвечает: Madproger
Здравствуйте, Dushin Igor!

Насколько я понял из предыдущего вопроса, тебе надо вносить только изменения совершенные за какой-то период, тут к сожалению дамп БД не поможет :(

Если это критично и есть доступ к удаленному серверу, и если есть желание поразбираться :) настрой репликацию, настроив удаленный сервер как мастер, а свой как слейв
Подробнее о репликациях здесь http://dev.mysql.com/doc/refman/4.1/en/replication.html

ИНаче, как было сказано делаешь полный дамп БД через phpMyAdmin либо через
коммандную строку
>mysqldump mydb > mydb_dump.sql
и на том сервере
mysql> source ./mydb_dump.sql

Но перед второй коммандой надо дропнуть существующую БД, иначе инсерты которые уже были и там и там продублируются

Еще вариант если записей немного, создай sql файл
занеси туда эти инсерты и выполни этот файл на удалленном компе
---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 5-ый класс)
Ответ отправлен: 01.05.2006, 02:53
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное