PHP.SU

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

Страниц (15): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 223
Telnet Отправлено: 07 Ноября, 2015 - 14:40:05 • Тема: Сохранение cvs в utf8 без BOM • Форум: Кодировки и все смежное

Ответов: 5
Просмотров: 3321
Все разобрался короче каждое поле которое у нас не в utf 8 привожу к utf-8

и теперь все сохраняет в UTF-8
проблема как я понял была в том что не которые данные файл читал с инета а они видимо были как раз в windows-1251
Telnet Отправлено: 07 Ноября, 2015 - 11:42:22 • Тема: Сохранение cvs в utf8 без BOM • Форум: Кодировки и все смежное

Ответов: 5
Просмотров: 3321
Спасибо я знаю что это
fprintf($handle, chr(0xEF).chr(0xBB).chr(0xBF));
метка BOM
я ее для эксперимента добавил

если ее удалить то файл записывается в кодировке windows-1251
и приходится его каждый раз его перекодировать.

Так нужно перед записью перекодировать все в utf8
у меня там просто много полей в этот файл пишут нужно перед записью каждое поле перекодировать?
Telnet Отправлено: 06 Ноября, 2015 - 15:34:43 • Тема: Сохранение cvs в utf8 без BOM • Форум: Кодировки и все смежное

Ответов: 5
Просмотров: 3321
Всем привет.
Нужно сохранять файл cvs обязательно в кодировке utf8 без BOM
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. /**
  5.  * Класс для работы с csv-файлами
  6.  * @author дизайн студия ox2.ru  
  7.  */
  8. class CSV {
  9.  
  10.     private $_csv_file = null;
  11.  
  12.     /**
  13.      * @param string $csv_file  - путь до csv-файла
  14.      */
  15.     public function __construct($csv_file) {
  16.         $handle = fopen($csv_file, "w");
  17.         if($handle){
  18.             fprintf($handle, chr(0xEF).chr(0xBB).chr(0xBF));
  19.             $this->_csv_file = $csv_file;
  20.         }else{
  21.             throw new Exception("Файл ".$csv_file." не найден");
  22.         }
  23.     }
  24.  
  25.     public function setCSVLine(Array $csv) {
  26.         //Открываем csv для до-записи,
  27.         //если указать w, то  ифнормация которая была в csv будет затерта
  28.         $handle = fopen($this->_csv_file, "a");
  29.         fputcsv($handle, $csv, ";"); //Записываем массив данных одной строкой, 3-ий параметр - разделитель поля
  30.         fclose($handle); //Закрываем
  31.     }    
  32. }
  33.  
  34. ?>
  35.  


Сначало было без fprintf($handle, chr(0xEF).chr(0xBB).chr(0xBF)); так писало в windows 1251, потом в нете нашел fprintf($handle, chr(0xEF).chr(0xBB).chr(0xBF)); поставил теперь пишется в utf8 с BOM, а нужно без BOM,
Прошу помочь разобраться.
Telnet Отправлено: 13 Августа, 2015 - 16:38:16 • Тема: Поиск файла htpasswd в корне сайта • Форум: Администрирование *nix

Ответов: 0
Просмотров: 647
Всем привет
поставил базовую http авторизацию, меня она полностью устраивает.
Вопрос вот в чем сейчас в строке
AuthUserFile F:\OpenServer5\domains\my.local\.htpasswd
т.е нужно писать полное имя
при переносе с локального сервера на рабочий тут опять нужно писать новый путь
возможно сделать как то что б он сам сразу искал этот файл в папке с сайтом

AuthUserFile .htpasswd
так пробовал не работает , в логах пишет что так он начинает искать от папки куда установлен Apache
Telnet Отправлено: 25 Июля, 2015 - 16:06:39 • Тема: Рекурсия • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 932
Не много пораскинув серым веществом
понял что было не так
дело в условии in_array($key, $tmp) нужно так end($tmp) == $key)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Tmp{
  4.         static function getTmp( $tmp, $tmp2 ){
  5.                 //echo  '<br><br>';
  6.                 foreach($tmp2 as $key=>$val){//var_dump(end($tmp) == $key);echo '<br>';
  7.                         if( !empty($key)  && !empty($val) && end($tmp) == $key){
  8.                                 $tmp[ $val ] = $val;//echo "<pre>".print_r($tmp, true)."</pre>";
  9.                                 self::getTmp($tmp, $tmp2 );
  10.                         }
  11.                 }echo "<pre>".print_r($tmp, true)."</pre>";
  12.                 return  $tmp;  
  13.         }
  14. }
  15. $tmp = array(86=>86);
  16. $tmp2 = array(
  17.     1 => 0,
  18.     62 => 0,
  19.     65 => 0,
  20.     8 => 0,
  21.     69 => 0,
  22.     3 => 0,
  23.     4 => 0,
  24.     5 => 0,
  25.     6 => 0,
  26.     7 => 0,
  27.     58 => 0,
  28.     87 => 0,
  29.     88 => 0,
  30.     93 => 0,
  31.     2 => 1,
  32.     78 => 1,
  33.     60 => 1,
  34.     77 => 1,
  35.     68 => 1,
  36.     24 => 1,
  37.     32 => 1,
  38.     28 => 2,
  39.     29 => 2,
  40.     79 => 2,
  41.     80 => 2,
  42.     34 => 2,
  43.     33 => 2,
  44.     39 => 2,
  45.     40 => 2,
  46.     41 => 3,
  47.     43 => 3,
  48.     44 => 3,
  49.     45 => 3,
  50.     46 => 3,
  51.     15 => 14,
  52.     16 => 14,
  53.     17 => 14,
  54.     82 => 34,
  55.     83 => 34,
  56.     84 => 34,
  57.     86 => 34
  58. );
  59. $tmp = Tmp::getTmp( $tmp, $tmp2 );
  60. echo "<pre>".print_r($tmp , true)."</pre>";die();
  61. ?>
  62.  

Теперь получаю
Array
(
[86] => 86
[34] => 34
[2] => 2
[1] => 1
)
Array
(
[86] => 86
[34] => 34
[2] => 2
[1] => 1
)
Array
(
[86] => 86
[34] => 34
[2] => 2
)
Array
(
[86] => 86
[34] => 34
)
В конце
Array
(
[86] => 86
[34] => 34
)
а мне нужно что б возвращало
Array
(
[86] => 86
[34] => 34
[2] => 2
[1] => 1
)
т.е то что получается в конце, в самом вложеном вызове функции getTmp
(Добавление)
Разобрался
нужно было присваивать результат в рекурсии
$tmp = self::getTmp($tmp, $tmp2 );
Telnet Отправлено: 25 Июля, 2015 - 14:51:46 • Тема: Рекурсия • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 932
Всем привет.
Есть такой вот массив
представлюящий из себя дерево
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [1] => 0
  4.     [62] => 0
  5.     [65] => 0
  6.     [8] => 0
  7.     [69] => 0
  8.     [3] => 0
  9.     [4] => 0
  10.     [5] => 0
  11.     [6] => 0
  12.     [7] => 0
  13.     [58] => 0
  14.     [87] => 0
  15.     [88] => 0
  16.     [93] => 0
  17.     [2] => 1
  18.     [78] => 1
  19.     [60] => 1
  20.     [77] => 1
  21.     [68] => 1
  22.     [24] => 1
  23.     [32] => 1
  24.     [28] => 2
  25.     [29] => 2
  26.     [79] => 2
  27.     [80] => 2
  28.     [34] => 2
  29.     [33] => 2
  30.     [39] => 2
  31.     [40] => 2
  32.     [41] => 3
  33.     [43] => 3
  34.     [44] => 3
  35.     [45] => 3
  36.     [46] => 3
  37.     [15] => 14
  38.     [16] => 14
  39.     [17] => 14
  40.     [82] => 34
  41.     [83] => 34
  42.     [84] => 34
  43.     [86] => 34
  44. )
  45.  

Мне его нужно обработать и получить такой массив
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [86] => 86
  4.     [34] => 34
  5.     [2] => 2
  6.     [1] => 1
  7. )
  8.  

PHP:
скопировать код в буфер обмена
  1.  
  2. class Tmp{
  3.         static function getTmp( $tmp, $tmp2 ){
  4.                 foreach($tmp2 as $key=>$val){
  5.                         if( !empty($key)  && !empty($val) && in_array($key, $tmp)){
  6.                                 $tmp[ $val ] = $val;
  7.                                 self::getTmp($tmp, $tmp2 );
  8.                         }
  9.                 }
  10.                 return  $tmp;  
  11.         }
  12. }
  13. $tmp = array(86=>86);
  14. $tmp2 = array(
  15.     1 => 0,
  16.     62 => 0,
  17.     65 => 0,
  18.     8 => 0,
  19.     69 => 0,
  20.     3 => 0,
  21.     4 => 0,
  22.     5 => 0,
  23.     6 => 0,
  24.     7 => 0,
  25.     58 => 0,
  26.     87 => 0,
  27.     88 => 0,
  28.     93 => 0,
  29.     2 => 1,
  30.     78 => 1,
  31.     60 => 1,
  32.     77 => 1,
  33.     68 => 1,
  34.     24 => 1,
  35.     32 => 1,
  36.     28 => 2,
  37.     29 => 2,
  38.     79 => 2,
  39.     80 => 2,
  40.     34 => 2,
  41.     33 => 2,
  42.     39 => 2,
  43.     40 => 2,
  44.     41 => 3,
  45.     43 => 3,
  46.     44 => 3,
  47.     45 => 3,
  48.     46 => 3,
  49.     15 => 14,
  50.     16 => 14,
  51.     17 => 14,
  52.     82 => 34,
  53.     83 => 34,
  54.     84 => 34,
  55.     86 => 34
  56. );
  57. $tmp = Tmp::getTmp( $tmp, $tmp2 );
  58. echo "<pre>".print_r($tmp , true)."</pre>";die();
  59.  


Скрипт заканчивается тем что пишет Веб-страница недоступна ошибок в логах нет
Telnet Отправлено: 22 Июля, 2015 - 16:05:41 • Тема: Позиционирование синей пляшки • Форум: HTML, Дизайн & CSS

Ответов: 0
Просмотров: 627
Всем привет
Друзья помогите правильно спозиционировать синию пляшку там где адреса и телефоны она должна быть над гугло картой, а не под ней как сейчас.
http://dostup[dot]htmlmapgenerator[dot]r[dot][dot][dot]dex.php/kontakty

Сам разобрался
Telnet Отправлено: 18 Июля, 2015 - 14:10:56 • Тема: Шаблон расползается при увеличении маштаба • Форум: HTML, Дизайн & CSS

Ответов: 1
Просмотров: 646
Пытаюсь сделать html шаблон с использованием bootstrap 3, при большом масштабе все хорошо, но если масштаб уменьшить все очень не красиво смещается.
http://dostup[dot]htmlmapgenerator[dot]ru/
Telnet Отправлено: 11 Июля, 2015 - 13:25:22 • Тема: Проверка объекта на пустоту • Форум: Объектно-ориентированное программирование

Ответов: 1
Просмотров: 3648
Друзья всем привет.
Подскажите как проверить объект на содержание в нем хоть 1 свойства
что так писать
PHP:
скопировать код в буфер обмена
  1.  
  2. $messages = new stdClass();
  3. var_dump(empty($messages));
  4.  

что так
PHP:
скопировать код в буфер обмена
  1.  
  2. $messages = new stdClass();
  3. $messages->qwe = 1;
  4. var_dump(empty($messages));
  5.  

результат один и тот же bool(false)
т.е не отражается каким либо образом пустой объект или нет.
Подскажите как будет правильно проверить?
Telnet Отправлено: 21 Июня, 2015 - 18:58:28 • Тема: Настройка .htaccess обращение к файлам php без указания их расширения • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 548
Пробую такое содержимое файла

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ $1.php

для такого адреса
mysite.ru/list
файл list.php не вызывается хотя папки list в корне сайта я пока не создавал

пробую даже так
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^list$ list.php
все равно не вызывается файл list.php
так работает mysite.ru/list.php
но нужно сделать что б без указания расширения

Нашел решение в нете
RewriteEngine On
RewriteRule ^(\w+)$ $1.php [NC]
Telnet Отправлено: 21 Июня, 2015 - 18:15:52 • Тема: Настройка .htaccess обращение к файлам php без указания их расширения • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 548
Всем привет, как написать что б скажем при обращении по адресу
mysite.ru/list
он вызывал файл list.php лежащий в корне сайта
а при общении к mysite.ru/list/item
он вызывал файл item.php лежащий в папке list
Telnet Отправлено: 19 Июня, 2015 - 13:31:56 • Тема: Замена подстроки только 1 раз • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 357
Всем привет
Есть примерно вот такой код

<svg xmlns="http://www.w3.org/2000/svg" style="left: -0.31px; top: -0.33px; overflow: hidden; position: relative;" width="410" height="435" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:NS1="" NS1:xmlns:xlink="http://www.w3.org/1999/xlink">

В нем нужно оставить только 1 аттрибут xmlns="http://www.w3.org/2000/svg"
не важно какой 1 или 2 определение того что тут 2 таких аттирибута я написал сам

CODE (javascript):
скопировать код в буфер обмена
  1.             found = svg.match(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g);
  2.             if(found.length == 2){
  3.                 //тут должно быть удаление подстроки если она встречается дважды
  4. svg = svg.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/,'');
  5.             }

Сам решил
а вот как убрать из строки только одну подстроку ни как не получается
Telnet Отправлено: 29 Мая, 2015 - 18:19:55 • Тема: Получение данных из iframe отличных от html • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1247
Спасибо но Ваш вариант тоже не подходит так как использовать серверный скрипты тоже нельзя.
Telnet Отправлено: 29 Мая, 2015 - 17:39:25 • Тема: Получение данных из iframe отличных от html • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1247
нет там просто сразу передается xml не подготовленный для работы в браузере,
это я думаю как можно этот xml получить каким нить отличным от аякс методом
В панели разработчика я же как то вижу этот xml вот и думаю как можно к нему подобраться или ни как?
(Добавление)
DeepVarvar пишет:
Да не надо делать скриптом.

Можете показать пример.
Telnet Отправлено: 29 Мая, 2015 - 17:34:09 • Тема: Получение данных из iframe отличных от html • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1247
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.         getMotoShips();
  3.     function getMotoShips(){
  4.         var ifr=$('<iframe/>', {
  5.             id:'MainPopupIframe',
  6.             src:'http://other-domain.com/123.htm',
  7.             style:'display:none',
  8.             load:function(){
  9.                 $(this).show();
  10.                 alert('iframe loaded !');
  11.             }
  12.         });
  13.         $('body').append(ifr);
  14.         //console.log($("#MainPopupIframe").text());
  15.                 var x = document.getElementById("MainPopupIframe");
  16.                 var y = (x.contentWindow || x.contentDocument);
  17.                 if (y.document)y = y.document;        
  18.         console.log(y.getElementsByTagName("root"));  
  19.     }
  20.  

DeepVarvar пишет:
Ну сделай через тег скрипта. В чем проблема?

не совсем понял Вашу идею

Страниц (15): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB