PHP.SU

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

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

> Найдено сообщений: 39
lowmax Отправлено: 18 Ноября, 2012 - 18:42:20 • Тема: DNS ip- привязка доменам разных ip • Форум: Администрирование *nix

Ответов: 0
Просмотров: 883
У меня 2 домена

xxxxx.zz
и
yyyyy.zz

я их зарегистрировал на reg.ru

хостинг у меня расположен в другом месте
на хостинге мне выдали 2 ip адреса
(у меня арендован сервер)

123.123.123.11
123.123.123.22

При регистрации доменов я для каждого указал следующие

ns1.xxxxx.zz 123.123.123.11
ns2.xxxxx.zz 123.123.123.22

ns1.yyyyy.zz 123.123.123.11
ns2.yyyyy.zz 123.123.123.22

Ок все работае

Но теперь при просмотре whois домен мне пишут что на этом сервере находится 2 сайта
xxxxx.zz
yyyyy.zz

Как мне прописать так чтобы сайт
xxxxx.zz находился на первом ip
а сайт
yyyyy.zz находился на втором ip
чтобы гугл не мог определить что они находятся на одном сервре?

на серевере у меня установлен ISPManadger
В нем я выставил для сайта yyyyy.zz второй ip
но при переходе на сайт yyyyy.zz меня перекидывает на xxxxx.zz

Как быть?
Кто в этом шарит?
lowmax Отправлено: 17 Ноября, 2012 - 22:50:09 • Тема: Класс уменьшения размера изображения • Форум: Графика в PHP

Ответов: 4
Просмотров: 3281
Готовый класс на PHP
Для тех кто ищет в гугле

В гугле найти пример сложнее чем написать самому
Решил написать свой класс для обработки и уменьшения размера фотографий

Возможности класса:
- пропорционально уменьшать размер фото по ширине либо по высоте
- уменьшить фото в процентном соотношении
- вписать фотографию в рамку определенного размера
- произвольное изменение размера фотографии
- изменить качество фотографии
- вывод сгенерированной фотографии без сохранения
- сохранение фотографии на сервере
- назначение фото прав доступа


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class picture {
  3.        
  4.         private $image_file;
  5.        
  6.         public $image;
  7.         public $image_type;
  8.         public $image_width;
  9.         public $image_height;
  10.        
  11.        
  12.         public function __construct($image_file) {
  13.                 $this->image_file=$image_file;
  14.                 $image_info = getimagesize($this->image_file);
  15.                 $this->image_width = $image_info[0];
  16.                 $this->image_height = $image_info[1];
  17.                 switch($image_info[2]) {
  18.                         case 1: $this->image_type = 'gif'; break;//1: IMAGETYPE_GIF
  19.                         case 2: $this->image_type = 'jpeg'; break;//2: IMAGETYPE_JPEG
  20.                         case 3: $this->image_type = 'png'; break;//3: IMAGETYPE_PNG
  21.                         case 4: $this->image_type = 'swf'; break;//4: IMAGETYPE_SWF
  22.                         case 5: $this->image_type = 'psd'; break;//5: IMAGETYPE_PSD
  23.                         case 6: $this->image_type = 'bmp'; break;//6: IMAGETYPE_BMP
  24.                         case 7: $this->image_type = 'tiffi'; break;//7: IMAGETYPE_TIFF_II (порядок байт intel)
  25.                         case 8: $this->image_type = 'tiffm'; break;//8: IMAGETYPE_TIFF_MM (порядок байт motorola)
  26.                         case 9: $this->image_type = 'jpc'; break;//9: IMAGETYPE_JPC
  27.                         case 10: $this->image_type = 'jp2'; break;//10: IMAGETYPE_JP2
  28.                         case 11: $this->image_type = 'jpx'; break;//11: IMAGETYPE_JPX
  29.                         case 12: $this->image_type = 'jb2'; break;//12: IMAGETYPE_JB2
  30.                         case 13: $this->image_type = 'swc'; break;//13: IMAGETYPE_SWC
  31.                         case 14: $this->image_type = 'iff'; break;//14: IMAGETYPE_IFF
  32.                         case 15: $this->image_type = 'wbmp'; break;//15: IMAGETYPE_WBMP
  33.                         case 16: $this->image_type = 'xbm'; break;//16: IMAGETYPE_XBM
  34.                         case 17: $this->image_type = 'ico'; break;//17: IMAGETYPE_ICO
  35.                         default: $this->image_type = ''; break;
  36.                 }
  37.                 $this->fotoimage();
  38.         }
  39.        
  40.         private function fotoimage() {
  41.                 switch($this->image_type) {
  42.                         case 'gif': $this->image = imagecreatefromgif($this->image_file); break;
  43.                         case 'jpeg': $this->image = imagecreatefromjpeg($this->image_file); break;
  44.                         case 'png': $this->image = imagecreatefrompng($this->image_file); break;
  45.                 }
  46.         }
  47.        
  48.         public function autoimageresize($new_w, $new_h) {
  49.                 $difference_w = 0;
  50.                 $difference_h = 0;
  51.                 if($this->image_width < $new_w && $this->image_height < $new_h) {
  52.                         $this->imageresize($this->image_width, $this->image_height);
  53.                 }
  54.                 else {
  55.                         if($this->image_width > $new_w) {
  56.                                 $difference_w = $this->image_width - $new_w;
  57.                         }
  58.                         if($this->image_height > $new_h) {
  59.                                 $difference_h = $this->image_height - $new_h;
  60.                         }
  61.                                 if($difference_w > $difference_h) {
  62.                                         $this->imageresizewidth($new_w);
  63.                                 }
  64.                                 elseif($difference_w < $difference_h) {
  65.                                         $this->imageresizeheight($new_h);
  66.                                 }
  67.                                 else {
  68.                                         $this->imageresize($new_w, $new_h);
  69.                                 }
  70.                 }
  71.         }
  72.        
  73.         public function percentimagereduce($percent) {
  74.                 $new_w = $this->image_width * $percent / 100;
  75.                 $new_h = $this->image_height * $percent / 100;
  76.                 $this->imageresize($new_w, $new_h);
  77.         }
  78.        
  79.         public function imageresizewidth($new_w) {
  80.                 $new_h = $this->image_height * ($new_w / $this->image_width);
  81.                 $this->imageresize($new_w, $new_h);
  82.         }
  83.        
  84.         public function imageresizeheight($new_h) {
  85.                 $new_w = $this->image_width * ($new_h / $this->image_height);
  86.                 $this->imageresize($new_w, $new_h);
  87.         }
  88.        
  89.         public function imageresize($new_w, $new_h) {
  90.                 $new_image = imagecreatetruecolor($new_w, $new_h);
  91.                 imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $new_w, $new_h, $this->image_width, $this->image_height);
  92.                 $this->image_width = $new_w;
  93.                 $this->image_height = $new_h;
  94.                 $this->image = $new_image;
  95.         }
  96.        
  97.         public function imagesave($image_type='jpeg', $image_file=NULL, $image_compress=100, $image_permiss='') {
  98.                 if($image_file==NULL) {
  99.                         switch($this->image_type) {
  100.                                 case 'gif': header("Content-type: image/gif"); break;
  101.                                 case 'jpeg': header("Content-type: image/jpeg"); break;
  102.                                 case 'png': header("Content-type: image/png"); break;
  103.                         }
  104.                 }
  105.                 switch($this->image_type) {
  106.                         case 'gif': imagegif($this->image, $image_file); break;
  107.                         case 'jpeg': imagejpeg($this->image, $image_file, $image_compress); break;
  108.                         case 'png': imagepng($this->image, $image_file); break;
  109.                 }
  110.                 if($image_permiss != '') {
  111.                         chmod($image_file, $image_permiss);
  112.                 }
  113.         }
  114.        
  115.         public function imageout() {
  116.                 imagedestroy($this->image);
  117.         }
  118.        
  119.         public function __destruct() {
  120.                
  121.         }
  122.        
  123. }
  124. ?>
  125.  


заюзывать очень просто:

пропорционально изменяем размер изображение и сохраняем на сервере не изменяя расширения файла
полученное изображение не будет превышать по высоте 400 пикселей и по ширине 300
т.е. автоматически впишется в нужные размеры
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->autoimageresize(300, 400);
  4. $new_image->imagesave($new_image->image_type, 'папка на сервере');
  5. $new_image->imageout();
  6.  


вывод на экран не изменяя расширения файла
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->autoimageresize(300, 400);
  4. $new_image->imagesave($new_image->image_type, NULL);
  5. $new_image->imageout();
  6.  


сохраняем на сервере и выбираем тип файла на выходе
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->autoimageresize(300, 400);
  4. $new_image->imagesave('png', 'папка на сервере');
  5. $new_image->imageout();
  6.  


ужимаем файл и выводим на экран
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->autoimageresize(300, 400);
  4. $new_image->imagesave('jpeg', NULL, 75);
  5. $new_image->imageout();
  6.  


сохраняем на сервере, ужимаем и устанавливаем права доступа
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->autoimageresize(300, 400);
  4. $new_image->imagesave('jpeg', 'папка на сервере', 75, 0777);
  5. $new_image->imageout();
  6.  


Уменьшаем изображение по ширине
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->imageresizewidth(300);
  4. $new_image->imagesave($new_image->image_type, 'папка на сервере');
  5. $new_image->imageout();
  6.  


Уменьшаем изображение по высоте
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->imageresizeheight(400);
  4. $new_image->imagesave($new_image->image_type, 'папка на сервере');
  5. $new_image->imageout();
  6.  


произвольно уменьшаем изображение не сохраняя пропорции
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->imageresize(300,400);
  4. $new_image->imagesave($new_image->image_type, 'папка на сервере');
  5. $new_image->imageout();
  6.  


уменьшаем изображение в процентном соотношении
PHP:
скопировать код в буфер обмена
  1.  
  2. $new_image = new picture('url или файл');
  3. $new_image->percentimagereduce(30);
  4. $new_image->imagesave($new_image->image_type, 'папка на сервере');
  5. $new_image->imageout();
  6.  



P.S.
Протестировано на http://nagon[dot]net/knigi.php
lowmax Отправлено: 27 Октября, 2012 - 15:18:05 • Тема: ВЫДЕЛЕННЫЙ СЕРВЕР - выбор ОС + ПО • Форум: Apache и другие веб-серверы

Ответов: 6
Просмотров: 479
В общем на выделенный сервер можно установить любую ОС
естественно это будет Linux но вот какую выбрать?
несколько лет я ползовался Centos OC и притензий к ней не было
теперь мне предлагают debian
как думаете на сколько он лучше или хуже сентоса?

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

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

т.е. ОС должна быть надежной

если вы работали в крупных компаниях, напишите мне с какой конфигурацие серверов вы работали и ваши отзывы, сравнения и т.д.

ссылки на надежные датацентры (хостинги) так же приветствуются

меня также интересует выбор apache или nginx
для чего что используется?
lowmax Отправлено: 05 Октября, 2012 - 01:26:59 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213
блин, яж писал что дело в кешировании
сохраняется пустой кэш а потом из него вам пытаются данные выдать
lowmax Отправлено: 05 Октября, 2012 - 01:18:17 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213
armancho7777777 пишет:
mktime() без параметров выдаст ошибку.
Используйте time()


там из строки преобразуется время в нужный вид
time не подходит
(Добавление)
вот кстати пока вы тут пишете, как упростить код?

PHP:
скопировать код в буфер обмена
  1.         public static function getfullurl() {
  2.                 $fullurl = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
  3.                 if(preg_match("|/index\.php|i", $_SERVER['PHP_SELF'])) {
  4.                         $fullurl = preg_replace("|/index\.php|i","",$fullurl);
  5.                 }
  6.                 if(preg_match("|/ololo\.php|i", $_SERVER['PHP_SELF'])) {
  7.                         $fullurl = preg_replace("|/ololo\.php|i","",$fullurl);
  8.                 }
  9.                 return "http://".$fullurl;
  10.         }
lowmax Отправлено: 05 Октября, 2012 - 01:13:55 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213
а... блин
ну если вводить что не поподя то да вылазит
я это сам знаю, причем вылазит не потому что не продумано а потому что времени не хватило
это происходит по причине прекрутки кэширования поверх рабочего движка, где то я чтото упустил, но вермя исправить не было
lowmax Отправлено: 05 Октября, 2012 - 01:08:42 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213
armancho7777777 пишет:
green_man, PHP 5 >= 5.3 ?)
(Добавление)
lowmax, включите вывод всех ошибок, увидите сколько нотисов посыпится.
Если чуйка не подводит, у Вас денвер.
Там вывод нотисов отключен.


у меня php 5.0
-..-
lowmax Отправлено: 05 Октября, 2012 - 01:01:49 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213
green_man пишет:
Ну и так сходу еще одно отличие от Wordpress нашел )))

вордпрес если что то не нравится пишет page not found ваша же CMS


Notice: Undefined offset: 1 in /var/www/nagon/data/www/watch.on find.net/packs/functions.pack.ph p on line 53

Notice: Undefined offset: 2 in /var/www/nagon/data/www/watch.on find.net/packs/functions.pack.ph p on line 53

Notice: Undefined offset: 1 in /var/www/nagon/data/www/watch.on find.net/packs/functions.pack.ph p on line 53

Notice: Undefined offset: 2 in /var/www/nagon/data/www/watch.on find.net/packs/functions.pack.ph p on line 53

Warning: mktime() expects parameter 1 to be long, string given in /var/www/nagon/data/www/watch.on find.net/packs/functions.pack.ph p on line 53

Notice: Trying to get property of non-object in /var/www/nagon/data/www/watch.on find.net/packs/template.pack.php on line 234

Notice: Trying to get property of non-object in /var/www/nagon/data/www/watch.on find.net/packs/template.pack.php on line 235

Список вообщем то больше...
А исходники не предоставляете?
А то бы в свободное время посмотрел, может помог бы чем то...


в какой момент выскочила такая ошибка?
lowmax Отправлено: 03 Октября, 2012 - 23:33:46 • Тема: Движок для сайта SeoEngi первые шаги • Форум: Наработки по собственным проектам

Ответов: 13
Просмотров: 4213


Статус движка в разработке

возможности
- свой шаблонизатор, файлы шаблонов цельные в виде обычных html без нарезки, можно редактировать в любом визуальном редакторе
- встроенная система кэширования на стороне сервера
- древовидные комментарии
- система голосований
- сортировка
- расширенная админ панель
- регистрация пользователей
- возможность отключения комментирования
- премодерация комментариев
- назначение модераторов, администраторов
- высокая производительность
- выбор шаблонов через админ панель
- подключения модулей
- подключение языков

Сравнение с вордпрессом:
Сайт на вордпрессе
http://onfind[dot]net/
Сайт на SeoEngi
http://watch[dot]onfind[dot]net/

В разработке не использовалось ничего стороннего, все коды свои

вид админ панели
lowmax Отправлено: 03 Октября, 2012 - 00:58:06 • Тема: Прописать свойсьтва изображению - как???? о_О • Форум: Графика в PHP

Ответов: 1
Просмотров: 1292
Короче если в винде щелкнуть по картинке правой кнопкой мыши и выбрать Свойства в открывшемся меню, то там можно прописать свойства картинки допустим Автор: Вася, Программа создатель: Пэинт и т.д.

Вот как эти свойства редактировать с помощью PHP?

Допустим я генерирую новую картинку и хочу ей прописать свойства, как такое сделать?
lowmax Отправлено: 06 Сентября, 2012 - 22:24:32 • Тема: Сохранить строку базы в файл txt • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 1474
Есть таблица в базе
- заголовок
- описание
- новость

как сохранить это все в один файл чтобы не распихивать по 3-м файлам?

идеи с разделителями и т.д. мне не нужны

ищу вариант в котором можно сохранить информацию в виде массива или памяти
ну короче не в текстовом виде

потому как число символов не известно и какие именно символы в тексте тоже не понятно

может как то это применить?
http://php.net/manual/ru/function.serialize.php

или это

http://php.net/manual/ru/functio...put-contents.php

в общем я хз
lowmax Отправлено: 25 Августа, 2012 - 14:54:20 • Тема: Кэширование - нужен совет • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2258
caballero пишет:
ссылку можно? Блог с таким посещением должен быт супер популярным в инете.


отправил в личку
lowmax Отправлено: 25 Августа, 2012 - 14:33:21 • Тема: Кэширование - нужен совет • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2258
caballero пишет:
Цитата:
результат поиска, найдено страниц гуглом, а значит индексировано - естественно не каких то там, а именно сайта

гугл нашел на твоем сайте 14 600 000 страниц?
а можно полюбопытствовать что за сайт такой и как эта цифра получена.
терзают смутные сомнения - либо ты врешь либо не понимаешь о чем говоришь вообще.
как это связано с кешированием и БД я уже даже не спрашиваю.


личный блог, блин
пишу каждую ночь статьи уже 100 лет Улыбка

зы в таблице столько же значений, при чем тут гугл, при том что кэшировать проще когда бот заходит, походу ты не догоняешь
lowmax Отправлено: 25 Августа, 2012 - 01:40:53 • Тема: Кэширование - нужен совет • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2258
caballero пишет:
Цитата:
Гугл выдает результат по одному из разделов сайта
14 600 000

результат чего?

Цитата:
Получается что в папке будет лежать 474 гб файлов общее количество которых будет составлять 29 200 000 файлов

а файловая система предусматривает такие количество файлов в одном каталоге?


результат поиска, найдено страниц гуглом, а значит индексировано - естественно не каких то там, а именно сайта
база огромная mysql ее даже выкачать проблематично
бот каждую секунду дрючит портал уже в течение несколько месяцев
думаю мог бы и быстрее но тут ограничения в нагрузки на сервер
а это не только гугл но и все остальные подрючивают + юзеры

операционная CentOS
хрен знает где искать ограничение на количество файлов в каталоге


в виндоусе создал в папке 800 000 фотографий, 30 сек папка открывалась
а это линукс...
(Добавление)
Для NTFS:
Maximum number of files in a single folder: 4,294,967,295

http://ask-leo[dot]com/is_there_a_li[dot][dot][dot]ry_can_hold[dot]html

судя по моим манипуляциям получается

Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda 960992 54974 906018 6% /

т.е.
960992 файлов

или что то не так?
мля...
lowmax Отправлено: 25 Августа, 2012 - 00:33:28 • Тема: Кэширование - нужен совет • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2258
Гугл выдает результат по одному из разделов сайта
14 600 000
База данных mysql кряхтит, запрос выполняет от 5 до 30 сек

Сделал кэширование с сохранением кэшированных файлов в папку
причем для поисков один кэш, для юзеров совсем другой

получилось

CODE (htmlphp):
скопировать код в буфер обмена
  1. /cache/1.txt - это для юзеров
  2. /cache/1r.txt - это для поисковиков
  3. /cache/2.txt
  4. /cache/2r.txt
  5. /cache/3.txt
  6. /cache/3r.txt
  7. /cache/4.txt
  8. /cache/4r.txt
  9. и т.д.


Естественно вообще можно так делать то?
Со временем в папке появится 14 600 000 * 2 = 29 200 000 файлов
Все это дело займет 2 - 3 месяца

файл занимает 17 кб в среднем
отсюда считаем

17 * 14 600 000 = 248 200 000 кб / 1024 = 242 383 мб / 1024 = 237 гб * 2 = 474 гб

Получается что в папке будет лежать 474 гб файлов общее количество которых будет составлять 29 200 000 файлов

Не загнется все это дело?
Что посоветуете?

и не забывайте это всего один раздел сайта, а таких несколько

С кэшированием страницы загружаются мгновенно

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB