Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2011, 13:45   #1
makar3000
Пользователь
 
Регистрация: 26.09.2010
Сообщений: 96
По умолчанию Есть php скрипт, работает в DLE8.5 а d DLE9.2 выбивает 3 ошибки

1) Notice: Undefined variable: bufer in C:\xampp\htdocs\dle2\***\***.php on line 16
2) Notice: Undefined offset: 32 in C:\xampp\htdocs\dle2\****\***.php on line 38
3) Notice: Undefined offset: 5 in C:\xampp\htdocs\dle2\****\***.php on line 40


Вот строчки в файле:

1)
PHP код:
    while (!feof ($fd)) 
        {
 
$bufer .= fgets($fd4096);
            
        } 
2)
PHP код:
$arr[32] = preg_replace("#\'#i""`"$ar[32]); 
3)
PHP код:
$dat_e date('Y-m-d G:i:s' ,$arr[5]); 
Весь файл:
PHP код:
<?php

include "config.php";

$filename "../ucoz/_s1/loads.txt";

$fd fopen($filename"r");

$i 0;

mysql_query("SET CHARACTER SET cp1251");

echo 
"Лог ковертирования<br>";
    while (!
feof ($fd)) 
        {
 
$bufer .= fgets($fd4096);
            
        }
fclose($fd);

        
$bufer iconv("UTF-8""cp1251""$bufer");
        
        
$a str_replace("\\\n"""$bufer);
$a str_replace("\n""|"$a);

$a explode("
"
$a);    



foreach(
$a as $index){
        
$exp explode("|"$index);
        
$ww array_chunk($exp40);
            foreach(
$ww as $i => $arr){            
            
$arr $ww[$i];
                        
            
$arr[32] = preg_replace("#\'#i""`"$arr[32]);
            
            
$dat_e date('Y-m-d G:i:s' ,$arr[5]);
                        
            if(
$arr[32] != ""){
            
$query "INSERT IGNORE INTO {$prefix}_post (`id`, `autor`, `date`, `short_story`, `full_story`, `xfields`, `title`, `descr`, `keywords`, `category`, `alt_name`, `comm_num`, `allow_comm`, `allow_main`, `allow_rate`, `approve`, `fixed`, `rating`, `allow_br`, `vote_num`, `news_read`, `votes`, `access`, `symbol`, `flag`, `editdate`, `editor`, `reason`, `view_edit`, `tags`, `metatitle`) VALUES
(0, '
$arr[26]', '$dat_e' , '$arr[32]', '$arr[32]<br>Загрузить: $arr[22]<br>Размер: $arr[23]', '', '$arr[15]', '', '', '4', 'load_{$arr[0]}', '$arr[8]', 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, '', '', 1, '', '', '', 0, '', '');";
            
$result mysql_query($query);
            
             if(!
$result) { echo ("<font color=red>MySQL вернула ошибку <br><textarea style='width: 300px; height: 200px'>".mysql_error()."</textarea><br> в коде <br><textarea style='width: 300px; height: 200px'>{$query}</textarea><br><b>Вероятно, текст содержит недопустимые символы, в частности, кавычки</b><br><br></font>");} else echo "Файл «$arr[15]» успешно сконвертирован<br>";
            }
        }
    }    


echo 
"Конвертация файлов завершена!<br>";

?>
makar3000 вне форума Ответить с цитированием
Старый 28.06.2011, 14:11   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

И? В чём собственно проблема? Хотя дайте я угадаю... Мммм.. Вы не знаете что такое оператор конкатенации и просите нас дать ссылку на мануал. Прошу: http://www.php.net/manual/ru/languag...ors.string.php

Если присмотреться внимательно к первой ошибке, то любой программист поймёт, что переменная $buffer должна быть как минимум объявлена до конкатенации.

В остальном вам придётся научиться поиску ошибок.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 28.06.2011, 14:14   #3
makar3000
Пользователь
 
Регистрация: 26.09.2010
Сообщений: 96
По умолчанию

Я не програмист а юзер, первую ошибку понял. Заключается в точке, но если убрать ее то лог не будет выводится.

Я просил помочь а не давать ссылки на сторонние сайты. Я был уже там.
makar3000 вне форума Ответить с цитированием
Старый 28.06.2011, 17:04   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

В точке проблема, да.... Слушайтесь умных дядек. Умные дядьки не пошлют просто так туда куда они вас посылают. Юзер, а не программист - не программируй. Хочешь программировать - читай мануалы и забудь, что ты юзер.

Теперь по вопросу.
Инициализация переменной - задание ей начального значения. (и иногда объявление переменной, иногда и то и другое вместе).
Т.е. вам только что посоветовали вот сюда
PHP код:
 while (!feof ($fd))  
        { 
 
$bufer .= fgets($fd4096); 
             
        } 
добавить
PHP код:
$bufer='';
while (!
feof ($fd))  
        { 
 
$bufer .= fgets($fd4096); 
        } 
Ответ на остальные вопросы у вас неправильный массив $arr какой-то. То есть в нём значения какие-то неожиданные. А конвертировать одни неожиданные значения в другие не менее неожиданные значения скрипт не умеет, и потому ругается.

Теперь вопрос - Вы хотите убрать сообщения об ошибках, научить скрипт молча игнорировать неожиданные значения или сделать неожиданные значения менее неожиданными?

Если 1 или 2 - есть шанс, что я бесплатно помогу. Если 3 - вам во фриланс.

Последний раз редактировалось graymaster; 28.06.2011 в 17:07.
graymaster вне форума Ответить с цитированием
Старый 28.06.2011, 18:15   #5
makar3000
Пользователь
 
Регистрация: 26.09.2010
Сообщений: 96
По умолчанию

Цитата:
Теперь вопрос - Вы хотите убрать сообщения об ошибках, научить скрипт молча игнорировать неожиданные значения или сделать неожиданные значения менее неожиданными?
Нужно исправить ошибки из за них не работает кодировка. Скрывать не нужно п.с пробывал, не помогло.
makar3000 вне форума Ответить с цитированием
Старый 28.06.2011, 18:52   #6
makar3000
Пользователь
 
Регистрация: 26.09.2010
Сообщений: 96
По умолчанию

1) решено

graymaster, спасибо. Осталось две проблемы...
makar3000 вне форума Ответить с цитированием
Старый 04.12.2012, 23:50   #7
Igoora
Новичок
Джуниор
 
Регистрация: 04.12.2012
Сообщений: 1
По умолчанию

Отпишите пожалуйста решилась ли проблема с convert_load.php? Если все конвертирует прошу скинуть рабочий скрипт для DLE9.2
Igoora вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает только из index.php корневого каталога xakil PHP 4 24.02.2011 14:25
PHP скрипт в HTML не работает misher HTML и CSS 7 12.12.2010 23:29
Список, выбивает ошибку, не работает sabaton Общие вопросы C/C++ 9 27.09.2010 23:29
Есть ошибки Lisёноk Помощь студентам 2 25.03.2010 19:24