Как узнать какого расширения нет на моем сервере?

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

просто вынеси в небольшой скрипт и посмотри, что происходит. путь точно существует? откуда оно ищет "plugins/*/index.php" ? такие файлы существуют?
is_array пробовал вместо конструкций с каунтом и проверкой? достаточно было написать if ($arr) кстате. зачем внутри итерации ставишь ещё раз глоб?
Для просмотра ссылки Войди или Зарегистрируйся

Пути существуют и файлы также. Просто непонятно, в папке plugins/ много подпапок, так вот, в некоторых случаях функции срабатывают, а в некоторых нет. Код почти идентичный... Единственное различие - это сервисы... типа твиттера и тд.

Короче попытался создать тест файл, но со своими знаниями, курю в сторонке...
Разъясните плиз, как правильно создать тест файл для проверки GLOB.

В общем, кто сможет переделать мне скрипт, чтобы он работал на PHP 5.4 либо чтобы работал с кодировкой ЮНИКОД - оплачу работу. О цене договоримся. ICQ 633-655-566
В чем проблема с ЮНИКОД? В том, что если я пишу на русском, то все данные заносятся в базу ломанными и естественно так же выводятся обратно.
 
В чем проблема с ЮНИКОД? В том, что если я пишу на русском, то все данные заносятся в базу ломанными и естественно так же выводятся обратно.
где указывается подключение к базе, добавьте
Код:
mysql_query("SET NAMES UTF8");
ну и базу в утф переведите
 
где указывается подключение к базе, добавьте
Код:
mysql_query("SET NAMES UTF8");
ну и базу в утф переведите
Уже все это делал. Ничего не помогает. Дело в том, что кажется сами заголовки общаются с БД через ЮНИКОД. Я уже методов 20 перепробовал. И понял, что дело в скрипте и надо его переделывать. А такие вещи, как кодировка по умолчанию и тд. ничего не помогает.
 
Уже все это делал. Ничего не помогает. Дело в том, что кажется сами заголовки общаются с БД через ЮНИКОД. Я уже методов 20 перепробовал. И понял, что дело в скрипте и надо его переделывать. А такие вещи, как кодировка по умолчанию и тд. ничего не помогает.
Пробуйте заменой по всем файлам.
Найти:
htmlentities
Заменить на:
htmlspecialchars
 
Пробуйте заменой по всем файлам.
Найти:
htmlentities
Заменить на:
htmlspecialchars
В общем, htmlentities встречается только в 1 файле. Его замена на htmlspecialcharsникакого результата не дала.

<?php

function executeSql($sqlFileToExecute)
{
$sqlErrorCode = "";
$f = fopen($sqlFileToExecute,"r+");
foreach ($sqlArray as $stmt) {
if (strlen($stmt)>3 && substr(ltrim($stmt),0,2)!='/*') {
$result = mysql_query($stmt);
if (!$result) {
$sqlErrorCode = mysql_errno();
$sqlErrorText = mysql_error();
$sqlStmt = $stmt;
break;
}
}
}
if ($sqlErrorCode == 0) {
return "Script is executed succesfully!";
} else {
return "An error occured during installation!<br/>"
. "Error code: $sqlErrorCode<br/>"
. "Error text: $sqlErrorText<br/>"
. "Statement:<br/> $sqlStmt<br/>";
}
}
function filter($data) {
$data = trim(htmlspecialchars(strip_tags($data))); - здесь заменил

if (get_magic_quotes_gpc())
$data = stripslashes($data);

$data = mysql_real_escape_string($data);
}

function checkPwd($x,$y)
{
if(empty($x) | empty($y) ) { return false; }
if (strlen($x) < 4 || strlen($y) < 4) { return false; }

if (strcmp($x,$y) != 0) {
return false;
}
return true;
}

function VisIP()
{
if(isset($_SERVER['HTTP_FORWARDED_FOR']))
$The=$_SERVER['HTTP_FORWARDED_FOR'];
else $The=$_SERVER['REMOTEADDR'];

return trim($The);
}

function Email($email){
return preg_match('/^\S+@[\w\d.-]{2,}\.[\w]{2,6}$/iU', $email) ? TRUE : FALSE;
}

function User($username)
{
if (preg_match('/^[a-z\d_]{3,20}$/i', $username)) {
return true;
} else {
return false;
}
}
function Name($name)
{
if (preg_match('/^[a-zA-Z]$/i', $nume)) {
return true;
} else {
return false;
}
}
function 404'r($url) {
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);

$response = curl_exec($handle);

$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);

if ($httpCode >= 200 && $httpCode < 300) {
return false;
} else {
return true;
}
}
function truncer($trailing='...')
{
$length-=mb_strlen($trailing);
if (mb_strlen($str)> $length)
{
return mb_substr($str,0,$length).$trailing;
}
else
{
$res = $str;
}

return $res;
}
function get_datas($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);

}

function percent($num_amount, $num_total) {
echo $count;
}
?>[/spoil]


Что еще можете посоветовать?
Вот сам ХЕДЕР скрипта, который что то порит с кодировкой


[spoil]
<?php
if(!isset($site))
{
include 'config.php';
}
foreach($_GET as $key => $value) {
$gets[$key] = filter($value);
}
foreach($_POST as $key => $value) {
$_POST[$key] = filter($value);
}

if(isset($gets['r']))
{
$refid = $gets['r'];
if(isset($_SERVER['HTTP_REFERER']))
{
$httpref = $_SERVER['HTTP_REFERER'];
}
else
{
$httpref = "";
}
$ip = VisitorIP();

$sameid = mysql_fetch_object(mysql_query("SELECT ip FROM `users` WHERE `id`='{$refid}'"));
if(!isset($sameid->ip))
{
setcookie("ref", $refid, time()+ (365 * 24 * 60 * 60));
}
else if($sameid->ip != $ip)
{
setcookie("ref", $refid, time()+ (365 * 24 * 60 * 60));
}


$visits = mysql_query("SELECT id FROM `visits` WHERE `ip`='{$ip}' AND `user`='{$refid}'");
$num = mysql_num_rows($visits);
if($num == 0 && !preg_match("/\bhost-tracker\b/i", $httpref)) {
mysql_query("UPDATE `users` SET `coins`=`coins`+'1', `promote`=`promote`+'1' WHERE `id`='{$refid}'");
mysql_query("INSERT INTO `visits` (user, ip, referer, date) VALUES('{$refid}', '{$ip}', '{$httpref}', NOW())");
}
}

if(isset($_POST['loginUsername'])) {
$accounts = mysql_query("SELECT * FROM `users` WHERE `username`='{$_POST['loginUsername']}' AND `pass`=MD5('{$_POST['loginPassword']}')");
$exists = mysql_num_rows($accounts);
$userdata = mysql_fetch_object($accounts);
if($exists == 0){
?><script>alert("Incorrect Username/Password!");document.location.href='index.php'</script><?php
}else if($userdata->banned > 0){
?><script>alert("Your account is banned!");</script><?php
}else if($userdata->activate > 0){
?><script>alert("You need to confirm your email first!");</script><?php
}else if($exists > 0) {
$_SESSION['IP'] = VisitorIP();
mysql_query("UPDATE `users` SET `online`=NOW() WHERE `username`='{$_POST['loginUsername']}'");
$user = mysql_query("SELECT * FROM `users` WHERE `username`='{$_POST['loginUsername']}'");
$_SESSION['data'] = mysql_fetch_object($user);
$_SESSION['username'] = $_POST['loginUsername'];
echo "<script>document.location.href='index.php'</script>";
}
else{
?><script>alert("Incorrect Username/Password!");document.location.href='index.php'</script><?php
}
}

if(isset($_SESSION['username'])){
$user = mysql_query("SELECT *,UNIX_TIMESTAMP(`online`) AS `online` FROM `users` WHERE `username`='{$_SESSION['username']}'");
$data = mysql_fetch_object($user);
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "Для просмотра ссылки Войди или Зарегистрируйся">
<html xmlns="Для просмотра ссылки Войди или Зарегистрируйся">

<head>
<?
if ($site->translate == "Enabled"){?>
<script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
autoDisplay: false,
floatPosition: google.translate.TranslateElement.FloatPosition.TOP_RIGHT
});
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<?}?>



<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $site->site_name; ?></title>
<meta name="description" content="<?php echo $site->site_description; ?>" />

<link href="styleOrig.css" rel="stylesheet" type="text/css" />
<link href="template/style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="jquery.js"></script>

</head>

<body>

Дальше уже идет текст.


Напомню в чем проблема. Итак, если я пишу новость на русском языке, через админку, то текст ломается. Он ломаным содержится в базе и показывается на сайте. Пример ломанного текста:
&ETH;�&Ntilde;�&ETH;&micro;&ETH;&frac14; &ETH;&iquest;&Ntilde;�&ETH;&cedil;&ETH;&sup2;&ETH;&micro;&Ntilde;�

Помогите плиз решить проблему. Отблагодарю.
 
Мнемоники.
Либо хедеры тут вообще не при чём.
Функция strip_tags обрабатывает POST и преобразует русс. символы в мнемоники.
В случае, если используется не стандартная функция PHP:
Для просмотра ссылки Войди или Зарегистрируйся
Пробуйте так:
Найти:
PHP:
$data = trim(htmlspecialchars(strip_tags($data)));
Заменить на:
PHP:
$data = trim(htmlspecialchars($data));
Если выведет нормально, но уберёт пробелы, то:
PHP:
$data = htmlspecialchars($data);
Либо в PHP отправки формы
header("Content-Type:text/html;charset="ISO-8859-1");
Дальше уже идет текст
Нужно как раз видеть, каким образом этот текст выведен.
Возможно там какая то обработка.
Для теста в любом случае нужно видеть ваш скрипт изнутри.
Иначе только гадать...
 
У Вас функция зашифрована, зачем тот кусок кода там не понятно.
Заменить ничего не получился, если не расшифровать скрипт.
Для Вашего убеждения можете поставить die; в filter функции
htmlspecialchars по умолчанию только в php5-4 использует UTF-8
В других версиях нужно определить кодировку.
Есть она не определена, получается ерунда выше.
Скрипт выполнится. И не заметит.
Определяет кодировку, используемую для преобразования. Если не указано, то кодировкой по умолчанию является ISO-8859-1 для PHP до версии 5.4.0, и UTF-8 начиная с версии 5.4.0.
 
У Вас функция зашифрована, зачем тот кусок кода там не понятно.
Заменить ничего не получился, если не расшифровать скрипт.
Для Вашего убеждения можете поставить die; в filter функции
htmlspecialchars по умолчанию только в php5-4 использует UTF-8
В других версиях нужно определить кодировку.
Есть она не определена, получается ерунда выше.
Скрипт выполнится. И не заметит.
Здравствуйте Александр)))
Вот раскодированный участок того файла. Только в данном месте идет (указана) кодировка. Как мне изменить ее правильно.
function use_curl($url, $querystring) {
if (!function_exists( 'curl_init' )) {
return false;
}

$curl = curl_init( );
$header[0] = 'Accept: text/xml,application/xml,application/xhtml+xml,';
$header[0] .= 'text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Connection: keep-alive';
$header[] = 'Keep-Alive: 300';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Pragma: ';
curl_setopt( $curl, CURLOPT_URL, $url );
curl_setopt( $curl, CURLOPT_USERAGENT, 'SPBAS (Для просмотра ссылки Войди или Зарегистрируйся)' );
curl_setopt( $curl, CURLOPT_HTTPHEADER, $header );
curl_setopt( $curl, CURLOPT_ENCODING, 'gzip,deflate' );
curl_setopt( $curl, CURLOPT_AUTOREFERER, true );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $querystring );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, $this->remote_timeout );
curl_setopt( $curl, CURLOPT_TIMEOUT, $this->remote_timeout );
$result = curl_exec( $curl );
$info = curl_getinfo( $curl );
curl_close( $curl );

if ((int)$info['http_code'] != 200) {
return false;
}

return $result;
}
 
Нет, это нет тот файл, закодированный подключается в конфиге.
 
мне вот интересно, если оригинальная мессага была
У Вас функция зашифрована, зачем тот кусок кода там не понятно.
Заменить ничего не получился, если не расшифровать скрипт.
Для Вашего убеждения можете поставить die; в filter функции

как её понимать, читать и вообще, куда применить :crazy: что вообще человек пишет? такое впечатление, что переводит на лету.
 
Назад
Сверху