PHP.SU

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

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

> Найдено сообщений: 34
Le0_Nard Отправлено: 22 Сентября, 2015 - 16:41:39 • Тема: jquery замена двух символов переноса строки на один • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1409
Давно не маялся js-ом, слегка подзабыл, так что напишу на php, чтобы было понятно, что я имею в виду.

PHP:
скопировать код в буфер обмена
  1. while(preg_match("/\r\n\r\n/", $value)){$value=str_replace("\r\n\r\n", "\r\n", $value);}
  2. while(preg_match("/\r\r/", $value)){$value=str_replace("\r\r", "\r", $value);}
  3. while(preg_match("/\n\n/", $value)){$value=str_replace("\n\n", "\n", $value);}


Вроде как должно работать. Осталось перевести на js.
Le0_Nard Отправлено: 22 Сентября, 2015 - 00:10:04 • Тема: проблема с copy() и GetImageSize() • Форум: Вопросы новичков

Ответов: 6
Просмотров: 324
решил проблему. всем спасибо за внимание! меньше багов вам! :3
Le0_Nard Отправлено: 21 Сентября, 2015 - 13:08:32 • Тема: проблема с copy() и GetImageSize() • Форум: Вопросы новичков

Ответов: 6
Просмотров: 324
Абсолютные пути отдали Permission denied. Абсолютные пути, начинающиеся не с '//', а с 'http://' отдали что-то про "мы с такими не работаем". Вероятно, фигня вся в том, что после определенного количества частей в урле ломается отправная точка. Например:
Запрос example.doge/page - все пути стартуют с example.doge
Запрос example.doge/page/action - стартуют вроде как и с example.doge, но и с example.doge/page.
Запрос example.doge/page/action/do/valu e - пути стартуют с example.doge/page/action.

Когда я говорю "пути стартуют с", я имею в виду следующе: при запросе example.com/page/action/do/value, если к странице подключается, например, css (<link rel="stylesheet" href="css/styles.css">), то он будет искаться, как example.doge/page/action/css/sty les.css.

Вот такая вот фигня. И если с подключаемыми скриптами я решил проблему абсолютными путями, а с подключаемыми php решать и не приходилось (они как-то сами хорошо пляшут), то при работе с файловой системой какая-то фигня...
Le0_Nard Отправлено: 20 Сентября, 2015 - 22:38:57 • Тема: проблема с copy() и GetImageSize() • Форум: Вопросы новичков

Ответов: 6
Просмотров: 324
Было: example.doge/page.php
Стало: example.doge/page
Le0_Nard Отправлено: 20 Сентября, 2015 - 18:19:38 • Тема: проблема с copy() и GetImageSize() • Форум: Вопросы новичков

Ответов: 6
Просмотров: 324
Здравствуйте, дорогие форумчане. После того, как прикрутил к сайту ЧПУ, в скрипте, который заливает картинки в папку, возникла проблема, которой раньше не было (до ЧПУ все работало исправно). А именно: copy() и GetImageSize() стали отдавать разные ошибки.

copy(): The second argument to copy() function cannot be a directory
GetImageSize(): failed to open stream: No such file or directory.

Это если пути выглядят 'images/heads/' и 'images/heads/'.$data['bgimage'] соответственно. Ошибки в переменной нет, я проверял. Сколько '../' к путям я не дописывал, ничего не менялось.

Если сделать пути абсолютными ('//'.$_SERVER['HTTP_HOST'].'/images/heads/'), то обе функции отдают 'failed to.open stream: Permission denied'.

Кусок .htaccess:
PHP:
скопировать код в буфер обмена
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteBase /
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteRule ^(.*)$ index.php?q=$1 [QSA]


Все идет в индекс. Индекс стартует сессию, реквайрит скрипт подключений к бд и скрипт роутера. Роутер парсит запрос и, если есть право доступа, реквайрит 'modules/нужныйСкрипт'.

Кусок кода нужного скрипта:
PHP:
скопировать код в буфер обмена
  1. $data['bgimage']=$_FILES['image']['name']
  2. $directory='images/heads/';
  3. $name=$_FILES['uplphoto']['name'];
  4. $uploadfile=$directory.basename($name);
  5. copy($_FILES['image']['tmp_name'], $uploadfile);
  6. $file='images/heads/'.$data['bgimage'];
  7. $size=GetImageSize($file);
  8.  


Еще раз повторюсь: до перехода на ЧПУ все работало исправно. Адрес страницы выглядит так: example.doge/page. На нее же шлется пост-запрос. Enctype формы равен 'multipart/formdata'.

Традиционный вопрос: что делать?
Le0_Nard Отправлено: 02 Августа, 2015 - 17:57:45 • Тема: Про ЧПУ и не только.. • Форум: Обсуждение статей

Ответов: 122
Просмотров: 131426
Сделал, как в первом посте написано. Было example.com/[page].php?action=[action]&id=[id]. Стало example.com/[page]/[action]/[id].

index.php
PHP:
скопировать код в буфер обмена
  1. //после разбивания запроса на части
  2. require_once('php/head.php');
  3. if($parts[0]==='[page]'){require_once('[page].php');}


[page].php
PHP:
скопировать код в буфер обмена
  1. if($parts[1]==='[action]'){require_once('php/[action].php');}


В [action].php из БД читаются данные строки с id=$parts[2], происходит магия, и все выводится.

В чем проблема:
Все файлы, которые включаются в php/head.php (css/*.css и js/*.js) почему-то ищутся в папке example.com/page/, КОТОРОЙ НЕТ! Почему-то require_once не выдает ошибок, а вот в консоли гуглхрома - 404:failed to load the source. И вместо вывода пустота.

Если адрес example.com/[page]/[action]/[id]/[subjectId]/[do], то файлы ищутся в папке example.com/[page]/[action]/[id]/

Все, что в квадратных скобках - скажем так, подстановочные значения.

ШТОДЕЛАТЬ?
Le0_Nard Отправлено: 04 Июля, 2015 - 21:25:03 • Тема: Проблема с settype() • Форум: Вопросы новичков

Ответов: 3
Просмотров: 218
'integer' тоже не помогает. Даже в двойных кавычках. Возвращает 1, а gettype() пишет, что $id - булево. Все равно уже переписал на (integer)$id.
Le0_Nard Отправлено: 04 Июля, 2015 - 12:54:58 • Тема: Проблема с settype() • Форум: Вопросы новичков

Ответов: 3
Просмотров: 218
Добрый день, уважаемые форумчане! На днях столкнулся с такой проблемой:
PHP:
скопировать код в буфер обмена
  1.  
  2. //Предположим, мы перешли по адресу
  3. // site.ru/page.php?id=4
  4.  
  5. $id = $_GET['id'];
  6. echo '$id = '.$id.'<br>'; //$id = '4'
  7. $id = settype($id, integer); //На всякий случай. От дебилов
  8. echo '$id = '.$id; //$id = 1
  9.  


Зачем-то любое число преобразуется в единицу. Наверное просто потому, что число есть, возвращается true.

Я знаю, что есть еще варианты, вроде (integer) $id, intval($id) и даже костыльный $id = ($id + 1) - 1, но хочется понять, почему settype() не работает должным образом.

Спасибо за уделенное время!
Le0_Nard Отправлено: 09 Июня, 2015 - 21:15:45 • Тема: Работа с HSV в JavaScript-е • Форум: JavaScript & VBScript

Ответов: 10
Просмотров: 1156
Спасибо за ответы. Сам я вообще не подозревал, как это сделать даже в фотошопе, теперь наклепал заготовки, под которые нужно будет подкладывать цвет.

Решение, правда, костыльное, т.к. результат "не такой, как на картинке", но пока сойдет. Потом буду думать, что с этим делать. Может художников найду, которые подскажут, что, да как...

А пока всем спасибо!
Le0_Nard Отправлено: 03 Июня, 2015 - 23:42:02 • Тема: Работа с HSV в JavaScript-е • Форум: JavaScript & VBScript

Ответов: 10
Просмотров: 1156
Данный камушек - модификатор свечения. Он накладывает на предмет эффект декоративного свечения того цвета, которого он сам. Цвет можно менять "смешивая" модификаторы, как краски. Поэтому камушек может быть любого цвета.

Я пишу что-то вроде интернет-аукциона. В числе прочего там можно будет продавать и модификаторы свечения, т.к. некоторые оттенки довольно дорогие в получении, а следовательно, и в цене. Например, если игрок, имеющий 0 игровой валюты захочет купить Золотой МС, ему придется задонатить 1.500(!) российских рублей, получить от администрации за это 150.000 "монет", и продать кому-нибудь в игре эти "монеты" по актуальному курсу (сейчас - 1:20), получив 3.000.000 игровой валюты. Т.е. предмет дорогой, поэтому и представить его нужно красиво.

В моей системе аукционов игрок вводит цвет в системе RGB, и картинка лота отображается с камушком нужного цвета.
Le0_Nard Отправлено: 03 Июня, 2015 - 23:15:03 • Тема: Работа с HSV в JavaScript-е • Форум: JavaScript & VBScript

Ответов: 10
Просмотров: 1156
черт, не правильно вопрос сформулировал: не как все эато сделать, а "как к серой картинке добавить H и S каналы?"

не особо понимаю, при чем тут спрайты? мне нужно не трафик ужать и не число обращений к серверу сократить, а сделать чернобелую картинку цветной.
Le0_Nard Отправлено: 03 Июня, 2015 - 19:48:23 • Тема: Работа с HSV в JavaScript-е • Форум: JavaScript & VBScript

Ответов: 10
Просмотров: 1156
    Доброго времени суток, дорогие форумчане!

    Делаю небольшой веб-сервис для игроков одной игры (О_О), и столкнулся с такой проблемой: в игре есть предмет, который выглядит, в некотором роде, по разному: он может быть разных оттенков. В папке текстур он существует в следующем виде:
1) Готовая раскрашенная картинка (на случай, если предмет "пустой") - https://www[dot]dropbox[dot]com/s/808p7w[dot][dot][dot]y0c1/colored[dot]png
2) Слой 1 (Серая картинка камушка) - https://www[dot]dropbox[dot]com/s/e5bueyewn7qq53v/l1[dot]png
3) Слой 2 (Ободок) - https://www[dot]dropbox[dot]com/s/sacyde1t84kppry/l2[dot]png

    Т.е. если предмет не "пустой" (, а модифицирован игроком), то он в клиенте принимает цвет, который получил игрок (своеобразное смешение красок с получением новой, но с другим предметом). В итоге камушек в предмете может быть чуть ли не любого оттенка (на самом деле не правда, но не об этом Радость ). В клиенте в таком случае картинка, что логично, собирается по слоям.

    Все, что мне удалось выяснить - необходимо работать с цветовой моделью HSV (она же HSB). Так же я смог догадаться, что серая картинка камушка - готовый канал V, и мне нужно лищь наложить на него ещё S и H каналы, после чего поверх наложить ободок.

    Сам я вообще не художник, поэтому понятия не имею, как это сделать даже в фотошопе. Зато я уже нашёл js-библиотеку конвертации цветов - tinycolor.js. Думаю, она подойдёт.

    В общих чертах алгоритм такой: пользователь указывает RGB-цвет. Цвет конвертируется в HSV, V откидываем, т.к. в игре у предмета она всегда равна 100% (поэтому и не все цвета можно получить). Накладываем H и S на картинку с камушком, конвертируем всю картинку в RGB, накладываем ободок и выводим на экран. Не убивайте, если что-то глупое сморозил: не художник я Радость

    Подскажите, пожалуйста, как это можно реализовать? Желательно без canvas-а, т.к. он у некоторой части аудитории не поддерживается. В частности у меня. Огорчение
Le0_Nard Отправлено: 21 Марта, 2015 - 02:04:45 • Тема: Помощь со скриптом предпросмотра • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 20
Прошу прлщения: дубликат темы. У меня глючный телефон :'(
Le0_Nard Отправлено: 21 Марта, 2015 - 02:02:01 • Тема: Небольшой предпросмотр • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 32
Добрый вечер. Написал редактор шапок сайта. Суть в том, что админ может туда зайти и нстроить, какая картинка на какой странице будет отображаться в шапке, какой текст бутет поверх, и его ориентация (align valign). Там есть функция предпросмотра: админ хочет посмотреть, как новая картинка впишется в дизайн сайта.

Я пробовал пойти по принципу "Картинка присылается POST-ом" на сервер, сохраняется, дальше с ней проводятся необходимые операции, она отображается и удаляется с сервера. Но у меня возникла некоторая проблема: unlink($file) удаляла файл раньше, чем пользователю отсылался html.

Я пробовал просто поменять фон javascript-ом, но возникла другая прблема: td, фоном которого является картинка, имеет фиксированый размер, который определяет php с помощью getimagesize(). Т.е. при смене фона нужно узнать размер новой картинки. это я не умею javascript-ом. Интернеты что-то писали про img = new ...(), но та штука работает, только если картинка уже была отображена в браузере (т.е. уже кеширована).

Вариант с <img src>, вложенным в div не подходит, т.к. поверх картинки располагается заголовок h1, и придется повышать z-индекс, давать абсолютное позиционирование и прописывать координаты, а они никак не клеются с возможностью выбрать align и valign.

В общем, мне нужен либо js-скрипт, который посчитает размер картинки, либо php-скрипт, который удалит файл после того, как отошлет html клиенту.

Заранее спасибо!
Le0_Nard Отправлено: 06 Марта, 2015 - 00:03:48 • Тема: MySQL меня не понимает • Форум: Вопросы новичков

Ответов: 4
Просмотров: 310
Вот теперь работает :З Как говорится, "усё, як мае быць!"
Спасибо!

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB