Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 28/03/12 в 16:55 |
Вот сам код:
всё работает когда нет в коде пользовательских функций [getLimitTitle() и getLimitDesc()] с функциями выдает ошибку Fatal error: Cannot redeclare getlimittitle() .... on line 31
Если брать функции и использовать их отдельно, то всё прекрасно работает, как только вставляю в код то ошибка и запущеный цикл выполняется только один раз.
Пол дня убил на разборку и нифига, раньше с такими функциями дело не имел, почитал тексты о таких функциях, вроде всё как нужно, но не работает.
Последний раз редактировалось: Lexikon (28/03/12 в 17:10), всего редактировалось 1 раз
|
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 28/03/12 в 17:00 |
Переведи ошибку на русский. А потом вытащи функции за пределы цикла.
|
|
|
|
С нами с 18.08.03
Сообщения: 426
Рейтинг: 1102
|
Добавлено: 28/03/12 в 17:03 |
два раза декларируется функция, вынеси ее за цикл
Код: [развернуть] |
<?php
function getLimitTitle($titleMain, $limit) { // Запсукаем функцию для ограничения тайтлов.
$strlen = strlen($titleMain);
if ($strlen > $limit)
{
$titleMain = preg_replace( "/[\r\n\t]/", "", $titleMain );
$str = '';
$titleMain = substr( $titleMain, 0, $limit );
$words = explode( " ", $titleMain );
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$titleMain = trim($str)."...";
}
else
{
$titleMain = trim($titleMain);
}
return $titleMain;
}
function getLimitDesc($descMain, $limit) { // Запсукаем функцию для ограничения десок.
$strlen = strlen($descMain);
if ($strlen > $limit)
{
$descMain = preg_replace( "/[\r\n\t]/", "", $descMain );
$str = '';
$descMain = substr( $descMain, 0, $limit );
$words = explode( " ", $descMain );
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$descMain = trim($str)."...";
}
else
{
$descMain = trim($descMain);
}
return $descMain;
}
$width = $_POST[ 'width' ];
$height = $_POST[ 'height' ];
$paySite = $_POST[ 'link' ];
$cPaySite = urlencode( $paySite );
$expData = "expdata.dat";
$keysFile = "keys.txt";
$tagsFile = "tags.txt";
$seperated = $_POST[ 'seperated' ];
$impData = $_POST[ 'exdata' ];
$face = file_get_contents("embed.tpl");
$lines = explode( "\n", $impData );
$count = count( $lines );
for( $i = 0; $i < $count; $i += 1 )
{
$content = $face;
list($flv, $img, $titleMain, $descMain) = explode( $seperated, stripslashes($lines[ $i ]) );
// ---- Start: Обработка Title ----
$titleMain = str_replace("&", "and", $titleMain); // Заменяем '&' на 'and'.
$titleMain = preg_replace("/[^A-Za-z0-9\s-!.,:;?']/", "", $titleMain ); // Удаляем лишнии символы из текста.
$fileName = preg_replace( '/\s+/', '-', trim( preg_replace("/[^A-Za-z0-9\s]/", "", $titleMain ) ) ); // Удаляем символы кроме Пробела Лат. букв и цифр, заменяем пробелы на тире.
$titleTP = getLimitTitle($titleMain, 36);
$titleEmbed = getLimitTitle($titleMain, 70);
// ---- End: Обработка Title ----
// ---- Start: Обработка Desccription ----
$descMain = str_replace("&", "and", $descMain); // Заменяем '&' на 'and'.
$descMain = preg_replace("/[^A-Za-z0-9\s-!.,:;?']/", "", $descMain ); // Удаляем лишнии символы из текста.
$metaDesc = getLimitDesc($descMain, 120);
$embedDesc = getLimitDesc($descMain, 300);
// ---- End: Обработка Desccription ----
// ---- Start: Получение случайноко киворда ----
$quote = file( $keysFile );
srand((double)microtime()*1000000);
$keyWord = $quote[rand(0,count($quote)-1)];
// ---- End: Получение случайноко киворда ----
// ---- Start: Созание строки тегов ----
$tags = ""; // Объявляем переменную пустой.
for( $z = 0; $z<=3; $z++ ) // Запускаем цикл.
{
$quote = file( $tagsFile );
srand((double)microtime()*1000000);
$rand_tags = $quote[rand(0,count($quote)-1)];
$rand_tags = trim($rand_tags); // Убираем возможные пробелы из начала и конца строк.
$tags .= $rand_tags.", "; // Разделяем наращиваемые слова запятыми.
}
$tags = substr($tags, 0, strlen($tags) - 2)."."; // Заменяем последнии два символа (запятая, пробел) на одну точку.
// ---- End: Созание строки тегов ----
// с помощью preg_replace() выполняем поиск и замену по РЕГУЛЯРНОМУ ВЫРАЖЕНИЮ в файле-шаблоне заданом в переменной $content
$content = str_replace('{flv}', $flv, $content);
$content = str_replace('{img}', $img, $content);
$content = str_replace('{titleMain}', $titleMain, $content);
$content = str_replace('{keyWord}', $keyWord, $content);
$content = str_replace('{$descMain}', $descMain, $content);
$content = str_replace('{width}', $width, $content);
$content = str_replace('{height}', $height, $content);
$content = str_replace('{tags}', $tags , $content);
$content = str_replace('{cPaySite}', $cPaySite , $content);
$content = str_replace('{paySite}', $paySite, $content);
$content = preg_replace("/[\r\n]/", "", $content );
// Открыть текстовый файл
$f = fopen($expData, "a");
// Записываем строку данных (каждая запись с новой строки)
fwrite($f, $content. "\r\n");
// Закрыть текстовый файл
fclose($f);
}
echo "Done!";
?> |
Последний раз редактировалось: Swimmer24 (28/03/12 в 17:05), всего редактировалось 1 раз
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 28/03/12 в 17:04 |
Фатальная ошибка: Невозможно переопределить getlimittitle ()
это я переводил.
НО а вынос за цикл только добавит ошибок, ибо в цикле та переменная которую использует функция, т.е. за циклом ее не существует, а значит новая ошибка
|
|
|
|
С нами с 18.08.03
Сообщения: 426
Рейтинг: 1102
|
Добавлено: 28/03/12 в 17:06 |
попробуй сначала )
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 28/03/12 в 17:08 |
а, всё отлично.
Чет в последнее время глюки, пишу на форум, рекомендуют сделать как делал и всё отлично. Сам делаю тоже самое и хер
отлично, всем спасибо оценил.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
|
Спонсор раздела
|