PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 7
mrgray Отправлено: 31 Октября, 2011 - 23:10:21 • Тема: Ошибки Warning: opendir и readdir • Форум: Вопросы новичков

Ответов: 3
Просмотров: 390
доброго времени. возникла следующая ситуация: ставил сайт на локалке через денвер - все отлично, никаких косяков....
заархивировал содержимое сайта в *.zip, залил на серв, распаковал архив, перехожу на сайт, получаю следующее в шапке сайта:
php обрабатывается как модуль Apache
Цитата:
Warning: opendir(./) [function.opendir]: failed to open dir: Permission denied in /***/***/***/***/***/домен/папка/functions.ker.php on line 961

Warning: readdir(): supplied argument is not a valid Directory resource in /***/***/***/***/***/домен/functions.ker.php on line 962

в целях безопасности соответственно указал путь от корня сервера к файлу, php обрабатывается как модуль Apache.
далее, ставлю обработку для php как CGI - сообщение исчезает....
не могу понять что за бред. на локалке все норм в случае с php как Apache, а на серве выбивает вышеуказанную ошибку. Не понял
из перевода понял, что не удалось открыть каталог с файлом в первой ошибке и во второй аргумент не является допустимым ресурсом каталога. Не понял
подскажите, кто чем можИте Однако
если я чего то не правильно понял, попраляйте. заранее благодарен. жду ваших ответов.
mrgray Отправлено: 30 Октября, 2011 - 14:36:23 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
DlTA пишет:


в таком случае выводится ток 1 банер из диапазона от оного до общего числа элементов т.е $i что поидее у меня уже и реализовано для случайного показа 1 баннера

а мне нужно, чтоб выводились все попорядку Огорчение


разобрался и с этим Хорошо
вот что нужно было
PHP:
скопировать код в буфер обмена
  1.  
  2.  foreach($BAN88_ID as $id)
  3.  {
  4.     echo "<a href=\"$BAN88_SITE[$id]\" target=\"_blank\"><img src=\"$BAN88_URL[$id]\" width=\"88\" height=\"31\"></a>&nbsp;&nbsp;";
  5.  }
  6.  


какие то 3 строки высушили мне мноз Радость ответ бродил всегда рядом, а я смотрел дальше, незамечая его Улыбка
mrgray Отправлено: 30 Октября, 2011 - 13:05:30 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
DlTA пишет:

1) обновлять кеш (файл) через период


оттолкнувшись от вышепредложенной идеи и покопавшись сообразил следующий код:

PHP:
скопировать код в буфер обмена
  1. <?
  2. include("kesh/file_rotator88.php");
  3. if($update_time+1200<time()) //1200 - время(в секундах), через которое будет обновлятся список баннеров.
  4. {
  5. $bantype="88x31";
  6. $res=mysql_query("SELECT * FROM $tables[t_bansad] WHERE expired_date>=NOW() AND start_date>0 AND bantype='$bantype' ORDER BY expired_date DESC");  //достаем все баннера
  7.  
  8.  $urlpic=array();
  9.  $urlsite=array();
  10. $idsite=array();   //создаем 3 масива
  11.  $i=0;
  12.  while($row=mysql_fetch_array($res)){
  13.  $urlpic=$row["banimage"];
  14.  $urlsite=$row["banurl"];
  15.  $id=$row["id"]; //достаем даные из  базы, и закидываем их в обычные переменые
  16.  $i++;
  17.  $spisokban88 = "
  18. $spisokban88
  19. \$BAN88_URL[$i]='{$urlpic}';
  20. \$BAN88_SITE[$i]='{$urlsite}';
  21. \$BAN88_ID[$i]={$id};
  22. "; }
  23. $t=time();
  24. $spisokban88="<?
  25. \$update_time={$t};
  26. \$i={$i};
  27. {$spisokban88}
  28. ?>";
  29. $fremov = @fopen("kesh/file_rotator88.php","w+"); //записываем в файл все даные из базы
  30. @fwrite($fremov,$spisokban88);
  31. @fclose($fremov);
  32. }
  33.  $randomob=rand(1,$i); //случайным образом выбираем баннер
  34.  
  35. echo "<a href=\"$BAN88_SITE[$randomob]\" target=\"_blank\"><img src=\"$BAN88_URL[$randomob]\" width=\"88\" height=\"31\"></a>"; //случайным образом выводим баннер на экран
  36.  ?>
  37.  


соответственно получаем файл file_rotator88.php с содержимым:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $update_time=1319967535;
  3. $i=5;
  4.  
  5.  $BAN88_URL[1]='http://ссылка_на_картинку';
  6.  $BAN88_SITE[1]='http://ссылка_на_сайт';
  7.  $BAN88_ID[1]=18;
  8.  
  9.  $BAN88_URL[2]='http://ссылка_на_картинку';
  10.  $BAN88_SITE[2]='http://ссылка_на_сайт';
  11.  $BAN88_ID[2]=17;
  12.  
  13.  $BAN88_URL[3]='http://ссылка_на_картинку';
  14.  $BAN88_SITE[3]='http://ссылка_на_сайт';
  15.  $BAN88_ID[3]=10;
  16.  
  17.  $BAN88_URL[4]='http://ссылка_на_картинку';
  18.  $BAN88_SITE[4]='http://ссылка_на_сайт';
  19.  $BAN88_ID[4]=5;
  20.  
  21.  $BAN88_URL[5]='http://ссылка_на_картинку';
  22.  $BAN88_SITE[5]='http://ссылка_на_сайт';
  23.  $BAN88_ID[5]=76;
  24.  
  25. ?>
  26.  


теперь мозг наперекосяк и не могу сообразить как из рандома преобразовать в цикл и вывод цикла массивов по маске

PHP:
скопировать код в буфер обмена
  1.  
  2. $BAN88_URL[$i]
  3.  $BAN88_SITE[$i]
  4.  

т.е. уже не один баннер, а все сразу, которые удовлетворяют запрос
PHP:
скопировать код в буфер обмена
  1.  
  2. $bantype="88x31";
  3. $res=mysql_query("SELECT * FROM $tables[t_bansad] WHERE expired_date>=NOW() AND start_date>0 AND bantype='$bantype' ORDER BY expired_date DESC");
  4.  
но уже не из базы, а из файла file_rotator88.php, т.е. его содержимое.
у меня происходит вывод либо одного банера, либо одного повторяющегося банера без конца. Однако
понимаю, вопрос элементарный но мозг сух как песок в сахАре Радость

пните меня в нужную сторону граждане, буду премного благодарен Улыбка
mrgray Отправлено: 29 Октября, 2011 - 15:16:08 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
спасибо Улыбка ща глянем..... поколдуем....
mrgray Отправлено: 29 Октября, 2011 - 15:07:57 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
DlTA пишет:
1) запхнуть запрос в функцию/метод
которая будет проверять если время между датой изменения файла и нынешним больше
то данные берем из базы, и дублируем в файл, если в пределах нормы то из файла

примерно понял что к чему
а можно на примерчик глянуть такой реализации кода? если конечно это представляется возможным?
mrgray Отправлено: 29 Октября, 2011 - 14:57:38 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
DlTA пишет:

предложенные варианты
1) обновлять кеш (файл) через период
2) обновлять кеш при наличии в запросе нужного указания


спасибо, но как это реализовывается? Однако
mrgray Отправлено: 29 Октября, 2011 - 14:18:20 • Тема: кеширование в фал данных из базы. осуществление скрипта на php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
доброго времени суток форумчане. в php сразу говорю я не гуру. но меня заинтересовал оч интересный вопрос. как из бд в файл записать нужные данные и из этого файла данные вытягивать на страницы сайта, а файл обновлять автоматически только тогда, когда в нужной таблице бд происходят обновления.
гуглил, "янлил", майлил.... к нужным результатам поиски по запросам не привели, пробовал различные комбинации запросов поиска, но тщетно Огорчение на форуме тож по данной теме не смог найти подходящего, может чего упустил...
кто чем может помочь? я не прошу написать за меня данный скрипт, но это конечо было бы плюсом. хотелось бы разобраться в этом вопросе: как, что и откуда. данные знания я хочу применить для следующего: на сайте у меня размещаются банеры и ссылки, которые хранятся в бд. соответственно при большом он-лайне количество запросов в бд неимоверно.... просто не вижу смысла постоянно вытягивать из базы данные о картинке банера, ссылки на сайт и прочего что с ними связано. хотелось бы сделать чтоб информация по банерам хранилась в файле и из него они вытягивались и размещались на сайте. вытянуть из файла и вставить на сайт впринципе получится у самого. но я не знаю как сделать так что бы:
Цитата:
а файл обновляется только тогда когда в нужной таблице бд происходят обновления.

прошу помощи у знатоков. принимаются ссылки на посты связанные с данной темой и все предложения, т.к. это вещь нужная очень. заранее благодарен и жду ваших ответов.
P.S.: если тему разместил не в том разделе, то извеняюсь и прошу перенести.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB