Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как сохранить в base64

 PHP.SU

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


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

> Без описания
Алексеей
Отправлено: 12 Февраля, 2012 - 21:24:35
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Есть ul с классом "uz", нужно чтобы все ссылки которые будут внутри <li> сохранялись в base64, пример:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <ul class="uz">
  3. <li>
  4. <a href="javascript://" onclick="window.open('http://mysite','up1223','scrollbars=1,top=0,left=0,resizable=1,width=680,height=350');return false;">namelink</a>
  5. </li>
  6.  
  7. <li><a href="javascript://" onclick="window.open('http://mysite2','up1223','scrollbars=1,top=0,left=0,resizable=1,width=680,height=350');return false;">namelink2</a>
  8. </li>
  9. </ul>
  10.  

суть самой затеи, я хочу чтобы ссылки не были видны, например если нажать на ссылку, то будет переход на:
CODE (html):
скопировать код в буфер обмена
  1. mysite.com/iframe?url=http://link.zone/urlurlurl

а хочу:
CODE (html):
скопировать код в буфер обмена
  1. mysite.com/iframe?url=QdfdskWRfgfdSFsdfekdj15SFdf=

помогите пожалуйста сделать так как я хочу
 
 Top
snikers987
Отправлено: 12 Февраля, 2012 - 21:38:50
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. echo 'mysite.com/iframe?url='.base64_encode('http://link.zone/urlurlurl');
  3.  

А в обработчике


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 12 Февраля, 2012 - 21:42:09
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




snikers987, дело в том, что эти ссылки находятся внутри файла xml, как можно сделать чтобы код автоматом сохранял в base64 ? и этот xml файл с другого сайта, поэтому я показал пример с <li>

(Отредактировано автором: 12 Февраля, 2012 - 21:42:21)

 
 Top
snikers987
Отправлено: 12 Февраля, 2012 - 21:48:42
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Тоесть вы скачиваете со стороннего сервиса xml со ссылками и нужно все ссылки обработать base64_encode ?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 12 Февраля, 2012 - 21:53:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Да именно, смотрите, есть файл xml, внутри его много ссылок, и когда мои пользователи на него нажимают произойдет переход на моем сайте на страницу:

CODE (html):
скопировать код в буфер обмена
  1. musite.com/iframe?url=http://site.com/urlurlurl

А нужно чтобы ссылку скрывал base64, примерно так:
CODE (html):
скопировать код в буфер обмена
  1. mysite.com/iframe?url=QdfdskWRfgfdSFsdfekdj15SFdf=
 
 Top
snikers987
Отправлено: 12 Февраля, 2012 - 22:11:43
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $str = file_get_contents('1.xml');
  3. $str = preg_replace_callback("#(http://[^']+)'#i", function($str){return base64_encode($str[1]);}, $str);
  4. file_put_contents('2.xml', $str);
  5.  


PHP >= 5.3

PHP:
скопировать код в буфер обмена
  1.  
  2. $str = file_get_contents('1.xml');
  3. function encode($str){
  4.         return base64_encode($str[1]);
  5. }
  6. $str = preg_replace_callback("#(http://[^']+)'#i", "encode" , $str);
  7. file_put_contents('2.xml', $str);
  8.  

PHP < 5.3

(Отредактировано автором: 13 Февраля, 2012 - 08:52:21)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Okula
Отправлено: 12 Февраля, 2012 - 23:06:24
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




А структуру XML файла можно увидить?
 
 Top
snikers987
Отправлено: 12 Февраля, 2012 - 23:08:43
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Okula пишет:
А структуру XML файла можно увидить?


Какая разница какая структура? Если нужно искать ссылки и менять их?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 13 Февраля, 2012 - 06:10:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Что то у меня не получается, блин когда же я выучу php)))
snikers987, вот сам код, который вызывает файл xml:
PHP:
скопировать код в буфер обмена
  1.  
  2. header('Content-Type: text/html; charset=windows-1251');
  3. $sxe = new SimpleXMLElement('http://woweb.ru/index/62-2', NULL, TRUE);
  4. $out = $str=iconv("UTF-8", "CP1251",$sxe->asXML());
  5. echo $out;
  6.  

можно ли функцию base64 соединить с этим кодом ? дабы сразу превращал все ссылки с xml в base64
 
 Top
snikers987
Отправлено: 13 Февраля, 2012 - 08:54:05
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. header('Content-Type: text/html; charset=windows-1251');
  3. $sxe = new SimpleXMLElement('http://woweb.ru/index/62-2', NULL, TRUE);
  4. $out = iconv("UTF-8", "CP1251",$sxe->asXML());
  5. $out = preg_replace_callback("#(http://[^']+)'#imU", function($matches){return base64_encode($matches[1]);}, $out);
  6. echo $out;
  7.  

PHP >= 5.3

(Отредактировано автором: 13 Февраля, 2012 - 09:08:12)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 13 Февраля, 2012 - 19:50:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Извиняйте за поздний ответ Улыбка ))
я вставил сохранил файл, и на странице все исчезло и написано:
Цитата:
Parse error: syntax error, unexpected T_FUNCTION in /home/u513235356/public_html/ind ex.htm on line 95

в чем может быть проблема ?
 
 Top
snikers987
Отправлено: 13 Февраля, 2012 - 21:42:54
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Причина в версии php, я же написал:
snikers987 пишет:
PHP >= 5.3

(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. function encode($matches){return base64_encode($matches[1]);}
  3. header('Content-Type: text/html; charset=windows-1251');
  4. $sxe = new SimpleXMLElement('http://woweb.ru/index/62-2', NULL, TRUE);
  5. $out = iconv("UTF-8", "CP1251",$sxe->asXML());
  6. $out = preg_replace_callback("#(http://[^']+)'#imU", "encode" , $out);
  7. echo $out;
  8.  


так должно работать


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Алексеей
Отправлено: 14 Февраля, 2012 - 06:28:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Спасибо, теперь все работает, остался один вопрос, а если таких кодов на странице будет прям три штуки, то это будет работать ? в смысле, таких же кодов но только xml файлы другие
(Добавление)
кстати есть ошибка, в xml файле ссылка находится внутри '..' пример:

А после этого кода становится так:
CODE (html):
скопировать код в буфер обмена
  1. 'aHR0cDovL3Vjb3pvbi5ydS9pbmRleC84LTE=

т.е. второй (закрывающий) символ исчезает, и поэтому не происходит переход
 
 Top
DelphinPRO
Отправлено: 14 Февраля, 2012 - 07:28:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Ну а почему оно должно не работать? конечно, будет. только функцию encode не надо прям три раза объявлять.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Алексеей
Отправлено: 14 Февраля, 2012 - 08:05:06
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




DelphinPRO, не еще не "объявлял" три раза, и поэтому спросил, и переход по ссылке не происходит
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB