С чем возникли трудности? PHP: <? file_put_contents(__FILE__,'<? phpinfo(); ?>'); ?> return PHP: ini_set( 'default_charset', 'windows-1251' ); Желательно в начале скрипта, хотя, наверное, значение не имеет.
Проблема: Отправляю сообщение в вк скриптом. Латинские символы отправляются как надо, а русские высвечиваются в виде "?4??4??4??4??4??4??4??4??4??4??4??5??5??4??4??4??4??4??1?", проснифил скрипт, от отправляет как надо, такую кодировку устанавливает контакт. В чем может быть проблема? Да, отправляю на стену группы
Есть кусок кода, с помощью которого шифруются и записываются в бд данные PHP: function getCCDetails( $userid ) { global $cc_encryption_hash; global $_LANG; $cchash = md5( $cc_encryption_hash.$userid ); $result = select_query( "tblclients", "cardtype,cardlastfour,AES_DECRYPT(cardnum,'{$cchash}') as cardnum,AES_DECRYPT(expdate,'{$cchash}') as expdate,AES_DECRYPT(issuenumber,'{$cchash}') as issuenumber,AES_DECRYPT(startdate,'{$cchash}') as startdate", array( "id" => $userid ) ); $data = mysql_fetch_array( $result ); $carddata = array( ); $carddata['cardtype'] = $data['cardtype']; $carddata['cardlastfour'] = $data['cardlastfour']; if ( !$data['cardlastfour'] ) { $carddata['cardnum'] = $_LANG['nocarddetails']; } else { $carddata['cardnum'] = "************".$data['cardlastfour']; } $carddata['fullcardnum'] = $data['cardnum']; if ( $data['expdate'] ) { $carddata['expdate'] = substr( $data['expdate'], 0, 2 )."/".substr( $data['expdate'], 2, 2 ); } if ( $data['startdate'] ) { $carddata['startdate'] = substr( $data['startdate'], 0, 2 )."/".substr( $data['startdate'], 2, 2 ); } $carddata['issuenumber'] = $data['issuenumber']; return $carddata; } function getCCVariables( $invoiceid ) { global $CONFIG; global $cc_encryption_hash; global $clientsdetails; if ( !function_exists( "paymentMethodsSelection" ) ) { require_once( dirname( __FILE__ )."/gatewayfunctions.php" ); } $result = select_query( "tblinvoices", "userid,total,paymentmethod", array( "id" => $invoiceid ) ); $data = mysql_fetch_array( $result ); $userid = $data['userid']; $total = $data['total']; $paymentmethod = $data['paymentmethod']; $result = select_query( "tblaccounts", "SUM(amountin)-SUM(amountout)", array( "invoiceid" => $invoiceid ) ); $data = mysql_fetch_array( $result ); $amountpaid = $data[0]; $balance = $total - $amountpaid; if ( $balance < 0 ) { $balance = 0; } $cchash = md5( $cc_encryption_hash.$userid ); $result = select_query( "tblclients", "cardtype,cardlastfour,AES_DECRYPT(cardnum,'{$cchash}') as cardnum,AES_DECRYPT(expdate,'{$cchash}') as expdate,AES_DECRYPT(issuenumber,'{$cchash}') as issuenumber,AES_DECRYPT(startdate,'{$cchash}') as startdate,gatewayid", array( "id" => $userid ) ); $data = mysql_fetch_array( $result ); $cardtype = $data['cardtype']; $cardnum = $data['cardnum']; $cardexp = $data['expdate']; $startdate = $data['startdate']; $issuenumber = $data['issuenumber']; $gatewayid = $data['gatewayid']; $clientsdetails = getClientsDetails( $userid, "billing" ); $params = getGatewayVariables( $paymentmethod, $invoiceid, $balance ); $params['cardtype'] = $cardtype; $params['cardnum'] = $cardnum; $params['cardexp'] = $cardexp; $params['cardstart'] = $startdate; $params['cardissuenum'] = $issuenumber; $params['disableautocc'] = $clientsdetails['disableautocc']; $params['gatewayid'] = $gatewayid; return $params; } Можно расшифровать данные имея $cc_encryption_hash ?
Упражняюсь над проксями по курлу... написал простой скрипт, но почему то страницу не грузит, соответственно ошибка в проксях где то, так как убирал опции прокси то страницу грузило нормально с моим айпи. Прокся на момент написания поста живая. PHP: $ch=curl_init(); $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' . 'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)'; curl_setopt($ch, CURLOPT_URL, "http://2ip.ru"); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, '218.25.169.118:8909'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, null); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); $result = curl_exec($ch); curl_close($ch); echo iconv("UTF-8", "WINDOWS-1251", $result); Может ошибка в curl_setopt($ch, CURLOPT_PROXYUSERPWD, null) - в мануале указан параметр [username]:[password], но если прокся обычная без поролей и т.д. то поставил null. Вообщем я хз, подскажите...
PHP: $ch=curl_init('http://2ip.ru'); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_PROXY, '218.25.169.118:8909'); curl_setopt($ch, CURLOPT_USERAGENT, 'mozilla'); $result = curl_exec($ch); curl_close($ch); echo iconv("UTF-8", "WINDOWS-1251", $result); при CURLOPT_HTTPPROXYTUNNEL curl_error указывал на Received HTTP code 400 from proxy after CONNECT
Как исправить ошибки : Warning: Cannot modify header information - headers already sent by (output started at Z:\home\site.ru\www\auth\index.php:44) in Z:\home\site.ru\www\leftmenu.php on line 33 Warning: Cannot modify header information - headers already sent by (output started at Z:\home\site.ru\www\auth\index.php:44) in Z:\home\site.ru\www\leftmenu.php on line 34 Весь яндекс облазил и ничего. Вот файл Z:\home\site.ru\www\auth\index.php: PHP: <?php function generateCode($length=6) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789"; $code = ""; $clen = strlen($chars) - 1; while (strlen($code) < $length) { $code .= $chars[mt_rand(0,$clen)]; } return $code; } mysql_connect("localhost", "root", ""); mysql_select_db("pleasehelpme"); if(isset($_POST['submit'])) { $query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1"); $data = mysql_fetch_assoc($query); if($data['user_password'] === md5(md5($_POST['password']))) { $hash = md5(generateCode(10)); if(!@$_POST['not_attach_ip']) { $insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')"; } mysql_query("UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'"); setcookie("id", $data['user_id'], time()+60*60*24*30); setcookie("hash", $hash, time()+60*60*24*30); header("Location: ../user.php"); exit(); } else { print "Вы ввели неправильный логин/пароль"; } } include('../global_setting.php'); ?> <html> <head> <?php include('../header.php') ?> </head> <body> <div class="leftmenu"> <?php include('.'.$menu_left); ?> </div> <div id="content"> <form method="POST"> <table> <tr> <td> <table> <tr> <td><font class="nice">Логин:</font></td> <td><input name="login" type="text"></td> </tr> <tr> <td><font class="nice">Пароль:</font></td> <td><input name="password" type="password"></td> </tr> </table> </td> </tr> <tr> <td><font class="nice">Привязывать IP?</font> <input type="checkbox" name="not_attach_ip"></td> </tr> <tr> <td><input name="submit" type="submit" value="Войти"></td> </tr> </table> </form> </div> </body> </html> Вот файл Z:\home\site.ru\www\leftmenu.php: PHP: <?php $before_authorization=' <div id="title">Меню</div> <div class="menubg"> <a href="/">Главная</a><br/> <a href="/auth">Авторизация</a><br/> <a href="/registration">Регистрация</a> </div> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> '; $after_authorization=' <div id="title">Меню</div> <div class="menubg"> <a href="/">Главная</a><br/> <a href="/profile">Профиль</a><br/> <a href="/exit">Выход</a> </div> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> '; mysql_connect("localhost", "root", ""); mysql_select_db("pleasehelpme"); if (isset($_COOKIE['id']) and isset($_COOKIE['hash'])) { $query = mysql_query("SELECT *,INET_NTOA(user_ip) AS user_ip FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1"); $userdata = mysql_fetch_assoc($query); if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id']) or (($userdata['user_ip'] !== $_SERVER['REMOTE_ADDR']) and ($userdata['user_ip'] !== "0"))) { setcookie("id", "", time() - 3600*24*30*12, "/"); setcookie("hash", "", time() - 3600*24*30*12, "/"); print $before_authorization; } else { print $after_authorization; } } else { print $before_authorization; } ?> Кодировка в файлах: ANSI P.S. Denwer
Ошибка говорит о том что вывод буфера был начат в файле index.php строка: 44, поэтому не получается модифицировать заголовки (Header) т.е. установить куки. Передвинь участки кода так что бы вывод в браузер был после установки кук.
Почему ничего не выдается? simplehtmldom.sourceforge.net PHP: <?php // Подключаем класс парсерса require_once('simple_html_dom.php'); // Задаем URL страницы $html = file_get_html('http://news.rambler.ru/10978867/'); // Цикл разбора массива $e = $html->find('<p>', 0); echo $e->innertext; // Печать содержимого массива ?>
AnGeI не пробовали читать документацию, или хоть примеры? Уберите угловые скобки из $e = $html->find('<p>', 0);
Делал по примеру, наверное, тот кто делал пример тоже не читал документацию Спасибо, работает. Есть другой вопрос, более прикладной: Каким образом можно анализировать структуру, например, jpeg файла? Если более конкретно: нужно сделать подобное для различных алгоритмов шифрования, но необходимо сохранять структуру.
AnGeI Работайте с пикселями, а именно с байтами цвета каждого пикселя. Плюс не используйте jpeg для хранения результата.