PHP.SU

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

Страниц (4): « 1 2 3 [4]

> Найдено сообщений: 60
Wol_fi Отправлено: 06 Мая, 2012 - 13:46:04 • Тема: Picasa • Форум: Работа с сетью

Ответов: 6
Просмотров: 1756
roulis2844sasha пишет:
Не у кого не каких идей нету?

вот из официального мана гугла https://developers[dot]google[dot]com/pi[dot][dot][dot]lopers_guide_php
PHP:
скопировать код в буфер обмена
  1. $username = "default";
  2. $filename = "/tmp/photo.jpg";
  3. $photoName = "My Test Photo";
  4. $photoCaption = "The first photo I uploaded to Picasa Web Albums via PHP.";
  5. $photoTags = "beach, sunshine";
  6.  
  7. // We use the albumId of 'default' to indicate that we'd like to upload
  8. // this photo into the 'drop box'.  This drop box album is automatically
  9. // created if it does not already exist.
  10. $albumId = "default";
  11.  
  12. $fd = $gp->newMediaFileSource($filename);
  13. $fd->setContentType("image/jpeg");
  14.  
  15. // Create a PhotoEntry
  16. $photoEntry = $gp->newPhotoEntry();
  17.  
  18. $photoEntry->setMediaSource($fd);
  19. $photoEntry->setTitle($gp->newTitle($photoName));
  20. $photoEntry->setSummary($gp->newSummary($photoCaption));
  21.  
  22. // add some tags
  23. $keywords = new Zend_Gdata_Media_Extension_MediaKeywords();
  24. $keywords->setText($photoTags);
  25. $photoEntry->mediaGroup = new Zend_Gdata_Media_Extension_MediaGroup();
  26. $photoEntry->mediaGroup->keywords = $keywords;
  27.  
  28. // We use the AlbumQuery class to generate the URL for the album
  29. $albumQuery = $gp->newAlbumQuery();
  30.  
  31. $albumQuery->setUser($username);
  32. $albumQuery->setAlbumId($albumId);
  33.  
  34. // We insert the photo, and the server returns the entry representing
  35. // that photo after it is uploaded
  36. $insertedEntry = $gp->insertPhotoEntry($photoEntry, $albumQuery->getQueryUrl());

для получения ссылки на изображение копай объект $insertedEntry, а как загрузить думаю тут из кода и так понятно, библиотека для работы с пикасой - http://framework[dot]zend[dot]com/download/gdata/ , библиотека от zendramework'a не зависит, просто инклюдишь файл инициализации в свой скрипт, и можешь работать с ней.
Wol_fi Отправлено: 06 Мая, 2012 - 13:21:45 • Тема: Парсер инфы • Форум: Вопросы новичков

Ответов: 6
Просмотров: 239
McSeem пишет:


прошу О_о

держи
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //запрос содержимого страницы
  3.   $data = file_get_contents('http://capitalcity.combats.com/inf.pl?short=1231826384');
  4. //эту строку можо убрать если принимающая сторона в win-1251
  5.         $data = iconv('windows-1251','utf-8',$data);
  6. //инициализация массива результатов
  7.         $result = array();
  8. //необходимые значения, можно добавить ещё если нужно
  9.         $patterns = array('login=','login_online=','gamecity=','room_name=');
  10. //разбиваем содержимое страницы на строки и перебираем каждую строку
  11.         foreach (preg_split('/\n/',$data) as $line)
  12.         {
  13. //перебираем все выбранные поля
  14.             foreach($patterns as $pattern)
  15.             {
  16. //если строка содержит одно из полей, добавляем в массив результатов попутно убирая названия полей
  17.                 if(preg_match('/'.$pattern.'/',$line))
  18.                 {
  19.                     $result[] = preg_replace('/'.$pattern.'/','',$line);
  20.                 }
  21.             }
  22.  
  23.         }
  24.         print_r($result);//вывод
  25. ?>
Wol_fi Отправлено: 05 Мая, 2012 - 00:55:07 • Тема: отображение в kohana • Форум: CMS и фреймворки

Ответов: 1
Просмотров: 1077
ctrl+клик по классу в любой ide, все функции прекрасно закоментированы phpdoc'ом. А по сабжу - можно так:

PHP:
скопировать код в буфер обмена
  1. $this->template->content = View::factory('v_myform')->bind('captcha_image', $captcha_image)->render() . View::factory('regview', $data)->render();
Wol_fi Отправлено: 05 Мая, 2012 - 00:36:51 • Тема: Собрать/скомпилировать php со всеми возможными расширениями • Форум: HTTP и PHP

Ответов: 3
Просмотров: 12190
CODE (htmlphp):
скопировать код в буфер обмена
  1. # pecl install <нужное расширение>

не? зачем сразу кучу всего пихать? установи нужные, да и работай себе спокойно.
Wol_fi Отправлено: 05 Мая, 2012 - 00:25:57 • Тема: cookie и работа с ним • Форум: Вопросы новичков

Ответов: 18
Просмотров: 818
avtor.fox пишет:
Яж помню что выводил установку кук после вывода тела.

"setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script(this is a protocol restriction) . This requires that you place calls to this function prior to any output, including <html> and <head> tags as well as any whitespace." - http://www.php.net/manual/ru/fun...on.setcookie.php
Мануал врёт или fox волшебник?
output_buffering - не в счёт, на большинстве хостингов он выпилен, да и 95% php-программистов даже не догадываются о нём.
Wol_fi Отправлено: 05 Мая, 2012 - 00:06:26 • Тема: cookie и работа с ним • Форум: Вопросы новичков

Ответов: 18
Просмотров: 818
postal пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         <div id="objavlenie_main"><!--Главный блок объявлений -->
  3.                 <h1>Объявления</h1><!--заголовок объявлений -->
  4.                 <div id="objavlenie_block">
  5.                 <ul class="glochka">
  6.                 <?php
  7.                         $connect = mysql_connect('localhost','user','1111') or die ('Невожможно подключиться '.mysql_error());
  8.                         mysql_select_db('dbase');
  9.                         $select = mysql_query("SELECT * FROM news ORDER BY ID DESC");
  10.                         $fselect = mysql_fetch_assoc($select);
  11.                         $i = 0;
  12.                         while($fselect && $i < 7)
  13.                         {
  14.                                         echo ('<li>'.$fselect['zagolovok'].'</li>');
  15.                                         $fselect = mysql_fetch_assoc($select);
  16.                                         $i++;
  17.                         }
  18.                         mysql_close($connect);
  19.                         ?>
  20.                 </ul>
  21.                 </div>
  22.                
  23.                 <!--Блок входа на сайт-->
  24.                 <h1>Вход на сайт</h1>
  25.                 <div align="center" id="objavlenie_block">
  26.                 <form action="" method=post class="form_style">
  27.             Логин<br/>
  28.             <input type="text" name="login" size="22">
  29.             <br/>Пароль<br/>
  30.             <input type="password" name="pass" size="22">
  31.             <br/><input type="submit" value="Вход" name="open">
  32.                         <br/>
  33.                 </form>
  34.                 </div>
  35.                
  36.                 <?php
  37.                 if($_POST['login'] == "admin" && $_POST['pass'] =="01234") //Запись в файл cookie
  38.                 {
  39.                         setcookie ("kapriz_login",$_POST['login']);
  40.                         setcookie ("kapriz_pass",$_POST['pass']);
  41.                 }
  42.         </div>
  43.  

user это для блока новостей, carset тут не указан и вообще не чего из <head> так как файл инклюдится


У вас уже тело ответа выводится, а вы тут пытаетесь заголовки вывести, так нельзя, с куками нужно работать до вывода какого-либо кода, и желательно до первого закрытия тега ?> так как даже один пробел может быть воспринят как тело ответа. То есть сначала файла, без пробела
PHP:
скопировать код в буфер обмена
  1. <?PHP /*тут работа с куками и любыми другими заголовками*/ ?> а тут уже всё что угодно
Wol_fi Отправлено: 04 Мая, 2012 - 02:44:12 • Тема: wap|web версия • Форум: Вопросы новичков

Ответов: 18
Просмотров: 707
bareiro17 пишет:
А вот потом когда написал эту вункцию че делать??
типо если эта функция то так иначе по другому????

именно так, определять можно непосредственно перед вызовом темплейтов . PHP абсолютно без разницы, с какого браузера был запрос, мобильного или десктопного. А вот как раз уже непосредственное разделение идёт на уровне HTML.
Wol_fi Отправлено: 04 Мая, 2012 - 02:28:10 • Тема: Условие по времени • Форум: Вопросы новичков

Ответов: 8
Просмотров: 2311
DelphinPRO пишет:

Wol_fi пишет:
правильней будет так

а ваш код откроет регистрацию в период времени с 8:00 до 11:59 - на час больше, чем положено Улыбка
Радость
только хардкор:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   $time_current = $_SERVER['REQUEST_TIME']; //вдруг запрос от веб сервера до php заблудиля где?
  3.   $time_begin = mktime(8,0,0,(int)date("n")),(int)date("j"),(int)date("Y")); //хардкор
  4.   $time_end = mktime(10,59,59,(int)date("n")),(int)date("j"),(int)date("Y")); //ещё хардкор!
  5.   if($time_current >= $time_begin && $time_current <= $time_end)
  6. {
  7.   //тут регистрация
  8. }
  9. ?>

вот теперь чётко Радость
Wol_fi Отправлено: 04 Мая, 2012 - 02:17:42 • Тема: Ввод и вывод большого текста • Форум: Вопросы новичков

Ответов: 3
Просмотров: 277
DeepVarvar пишет:
А еще можно посмотреть на формат fb2, там есть метки для всего книжного хозяйства.
Тогда и не надо будет ковырять монги-шмонги, может у человека простой хостинг, а вы ему монго предлагаете...

Кроме того нормальная такая мысль - бить текст книги по страницам прямо в БД - это нормально, и поиск нормально и связей один ключ id книги..

Ну так..)) всё зависит от проекта конечно, но с моей колокольни использовать sql хранилище для хранения древовидных документов - это как гвозди микроскопом, да и vps сейчас вытесняют обычные хостинги, цены уже почти выровнялись. Да и если потом расширить функционал придется, работать с документо-объектной моделью будет удобней. А так да, полностью с Вами согласен, можно посмотреть электронные форматы книг и писать прямо в файл, благо библиотек для работ с разными форматами сейчас навалом. Да и разобраться с одной библиотекой проще чем с nosql субд. Но если ТС захочет "только хардкор" всё-таки советую почитать про разные типы СУБД на досуге, в будущем будет легче при проектировании. "Когда знаешь много велосипедов, реже возникает желание писать свой" (с) не помню кто .
Wol_fi Отправлено: 04 Мая, 2012 - 01:58:48 • Тема: Условие по времени • Форум: Вопросы новичков

Ответов: 8
Просмотров: 2311
OrmaJever пишет:
PHP:
скопировать код в буфер обмена
  1. $hour = date('H');
  2. if($hour > 8 && $hour < 11) // регистрация

этот код откроет регистрацию с 9 до 10, так как , и
правильней будет так

PHP:
скопировать код в буфер обмена
  1. $hour = date("H");
  2. if($hour >= 8 && $hour =< 11)
  3. {
  4. //тут регистрация
  5. }
Wol_fi Отправлено: 04 Мая, 2012 - 01:48:48 • Тема: Ввод и вывод большого текста • Форум: Вопросы новичков

Ответов: 3
Просмотров: 277
В данном случае лучше подойдет Документо-ориентированная субд, например MongoDB. Почитать про неё можно тут - http://ru[dot]wiki[dot]mongodb[dot]org/display/DOCS/Home . Как использовать на php тут - http://www.php.net/manual/ru/book.mongo.php . Если знакомы c javascript и JSON освоить её не составит проблем. Простыми словами - ДОСУБД позволяет хранить в качестве записи массив (не сериализованный) и работать запросами с массивами. В том числе и многомерными, и ассоциативными(ключ=>значение). То есть можно выдернуть запросом один/несколько элементов массива из записи (ну или там обновить, или удалить, вообщем все привычные SQL операции), или можно же запросить всю запись целиком(опять же как SQL), также поддерживаются индексы по элементам массива. Схема действия будет примерно такая - запись(массив)-книга, а в ней элементы массива тег(ключ)=>страница(значение). А использовать реляционную субд в данном случае неудобно - пардон, затрахаешься, клепать таблицы для связей, да и сколько места эти связные таблицы займут...
Wol_fi Отправлено: 04 Мая, 2012 - 01:16:19 • Тема: PHP ООП + mysql • Форум: Вопросы новичков

Ответов: 2
Просмотров: 207
Передаёте параметры в функцию, а в функции используете вместо них переменные объекта, вот и не работает. $this-> запросе уберите, и за функционирует.
PS. Use PDO, luke
PPS. я бы написал так(учитывая как вы используете данный класс):
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class news {
  3.     private $author;
  4.     private $title;
  5.     private $short;
  6.     private $full;
  7.  
  8.  public function __construct($author,$title,$short,$full)
  9. {
  10.    $this->author = $author;
  11.  
  12.    $this->title = $title;
  13.  
  14.    $this->short = $short;
  15.  
  16.    $this->full = $full;
  17.  
  18. }
  19.  
  20.     const DB_HOST = 'localhost';
  21.     const DB_USER = 'site';
  22.     const DB_PWD = 'site';
  23.     const DB_NAME = 'site';
  24.  
  25.     function addToDataBase(){
  26.         mysql_connect(self::DB_HOST, self::DB_USER, self::DB_PWD) or die ("Невозможно соеденится");
  27.         mysql_select_db(self::DB_NAME) or die (mysql_error());
  28.         $query = "INSERT INTO site (title,author,short,full,date)VALUES ('$this->title','$this->author','$this->short','$this->full',12)";
  29.         if(mysql_query($query))
  30. {
  31.    return true; //ну или можно вернуть id сохранённой новости из базы для дальнейшей работы, тут по вкусу вобщем
  32. }
  33. else
  34. {
  35.   die(mysql_error());//дурной тон использовать die() для дебага, и не ООП-подход конечно, вообще тут исключение вызвать нужно, но для примера вполне сгодится
  36. }
  37.     }
  38. }
  39.    
  40. ?>

тогда и править запрос не нужно, и вызывать проще:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function __autoload($name){
  3.         include "library".DIRECTORY_SEPARATOR.$name.".class.php";
  4. }
  5.  
  6. $author = "Vasia";
  7. $title = "Vasia";
  8. $short = "Vasia";
  9. $full = "Vasia";
  10. $news = new news($author, $title, $short, $full); //создали новость, получили объект, и делаем с ним маниипуляции, например валидация и т.д. и в конце сохраняем:
  11. $news->addToDataBase();
  12.  
  13.  
  14. ?>
Wol_fi Отправлено: 25 Февраля, 2012 - 21:34:02 • Тема: Игра • Форум: Вопросы новичков

Ответов: 10
Просмотров: 441
html разметка верная, а приведённый мной код - абстрактный Улыбка и на правильность не претендует Улыбка
хотябы по тому что методы slideUp и slideDown без значений на входе раскрывают блок сверху-вниз (а в той игре, нужно наоборот),и имеют callback события(то есть можно переписать и выкинуть 10 строк как минимум) просто вы просили привести примерные функции и подсказать метод решения, вот я сосбственно и попытался это сделать Улыбка
Js вообще хоть и тьюринг-полный, но функионал из коробки у него намного меньше чем на пример у php, скриптовый язык же. Даже чтобы получить случайное целое число в промежутке нужно писать свои функции. Да и каждый браузер его трактует как захочет, поэтому в кодинге на js также существует понятие кроссбраузерности. Особенно опера в этом плане доставляет, она с js дружит так же как и ie6 с блочной моделью и альфа-каналом в png.
Wol_fi Отправлено: 25 Февраля, 2012 - 16:11:25 • Тема: Игра • Форум: Вопросы новичков

Ответов: 10
Просмотров: 441
etoYA пишет:
Я ее себе предстовляю так:

0. Главный блок (к примеру 600х600)
1. div блоки(авалы, с которых будет что-то вылазить).
2. С div блоков вылазиют другие блоки(типо дети авалов ;) случайным образом
3. Если нажали на на блок(#2), то засчитать очки и убрать его.. Если нет, то убрать через ну там 0.5сек.
4. В переменную к примеру points записываются, и таймер(пусть как там будет 30 сек), после вывода таймера вывести переменную points.

Как то так?

В общем да, на выезжающих блоках нужно будет отлавливать событие click (например аттрибут onClick - и на него повесить функцию записи значения в переменную и функцию скрытия выезжающего блока, так же через setInterval повесить скрытие выезжающего блока через определённое время, ну в показывать их можно так - дать каждому выезажющему определённый порядковый id - (block1 ... blockN ..), и объединить их общик классом, например blocks ,затем взять math_random в границах кол-ва блоков, ну и с использованием jQuery код будет выглядеть примерно так:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. //функция выводящяя случайное число , принимает на вход 2 значения - нижняя граница и верхняя граница
  3. function getRandomInt(min, max){
  4.   return Math.floor(Math.random() * (max - min + 1)) + min;
  5. }
  6. //функция поднимающая случайный блок
  7. function random_display_block(){
  8.    var random_num = getRandomInt(1,10); //к примеру у нас 10 блоков, также глобализуем переменную, чтобы потом этот же блок опустить
  9.    jQuery("#block"+random_num).slideDown();//показываем блок силами jQuery
  10.  
  11. }
  12. //функция прячущая случайный блок
  13. function hide_uped_block{
  14.  jQuery("#block"+random_num).slideUp();//прячем только что поднятный блок
  15. }
  16. //объединим обе функции для задания интервала
  17. function random_blocks{
  18.       random_display_block();//поднимаем блок
  19.       setTimeout(hide_uped_block(),500);//устанавливаем время, которое будет виден блок(то есть за какое время по нему нужно успеть кликнуть)
  20. }
  21. jQuery(document).ready(function(){
  22.     setInterval(random_blocks(),100);//устанавливаем запуск игры по dom ready(загрузке страницы) и  интервал появления новых блоков
  23. });
  24. //теперь займёмся кликами
  25. var total = 0;//переменнная с очками, инициализируется 1 раз при загрузке документа
  26. jQuery('.blocks').click(function(){
  27.    jQuery(this).slideUp();//прячем блок по клику
  28.    var total = total + 100500; //плюсуем очки за удачный клик
  29. });

ну в ообщем это так, примерно, можно прикрутить кнопку старт и таймер, и использовать клик по ней вместо jQuery(document).ready() ; думаю дальше докопаетесь до нужного вам функционала.
Wol_fi Отправлено: 25 Февраля, 2012 - 03:29:02 • Тема: Игра • Форум: Вопросы новичков

Ответов: 10
Просмотров: 441
да тут сосбтвенно AJAX можно прикрутить только если к таблице результатов (хз какие ещё запросы к серверу нужны для игры такого типа), а по технологиям - можно смастерить такое на чистом HTML + jQuery (частично переведённая документация - jquery-docs.ru) , ну а если по новомодным правилам то понадобятся - HTML5, canvas и опять JS, можно чистый , можно библиотеку любую, с библиотекой быстрее получится. Да и собственно игр таких в инете пруд-пруди, можно просто открыть страницу с любой и F12 - js браузерный язык, все исходники будут видны (единственное что могут быть обфусцированы, но и это не большая проблема).

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB