LINUX.ORG.RU

Помогите запустить скрипт((

 , ,


1

1

Нашёл скрипт http://www.bafoed.net/post/43/ усилиями добрых людей подправил http://pastebin.com/Cc3d3FxE но нет выхлопа, зато есть «done» в логе... помогите воспользоваться скриптом, ПОЖАЛУЙСТА(((( *права дал, токен вконтакта получил и вписал, свой айди - тоже



Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от alozovskoy

мне очень подходит то может сделать этот скрипт, жаль что он не хочет работать((( и да, я нуб... боюсь, что с вконтакте апи я буду долго разбираться((

go8765
() автор топика
Ответ на: комментарий от go8765

Я не смогу так сходу сказать где там у тебя проблемы в скипте, ты бы брейкпоинтов понаставил да проверил что и как. У тебя в скрипте запросы к API через CURL, все это уже есть на php в более удобном виде. В любом случае стоит почитать тут и тут (внизу есть класс для php).

Там ничего сложного, например

<?
require 'vkapi.class.php';

$api_id = ; // Insert here id of your application
$secret_key = ; // Insert here secret key of your application
$VK = new vkapi($api_id, $secret_key);

$resp = $VK->api('getProfiles', array('uids'=>'1'));
print_r($resp);

А вообще Linux тут совсем не причем, так что...

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 2)
Ответ на: комментарий от alozovskoy

не уверен, что я сейчас правильно отвечу(

    $page = str_replace('%username%', $s_tabname, file_get_contents(dirname(__FILE__) . '/head.tpl'));
    $lines = array(); // Линии файла упрощенного стиля

go8765
() автор топика
Ответ на: комментарий от go8765

В скрипте перед этими строчками с iconv (на 150, например) сделайте

echo '<textarea>'.$page.'</textarea>';
echo '<br /><br /><br />';
echo '<textarea>'.$lines.'</textarea>';
exit();

И посмотрите на значения $page и $lines.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 3)
Ответ на: комментарий от alozovskoy

ура. небольшая победа... в таком варианте

    file_put_contents(dirname(__FILE__) . '/' .$id . '.htm', iconv('iso-8859-1', 'utf-8//IGNORE', $page));
отдампилось, но крякозябрами... в варианте
     file_put_contents(dirname(__FILE__) . '/' .$id . '.htm', iconv('iso-8859-1', 'windows-1251//IGNORE', $page));
пишет опять про Detected an illegal character куда дальше копать? ...

go8765
() автор топика
Ответ на: комментарий от go8765

Зависит от настроек сервера. Или что там в скрипте head генерирует? Туда можно добавить <meta charset="utf-8">.

Можно в браузере кодировки посмотреть еще и попробовать поменять на другие - может у тебя данные отдаются в utf-8, а сам сервер отдает страничку как будто это koi какой-нибудь, по-этому и крякозяблы.

alozovskoy ★★★★★
()
Ответ на: комментарий от go8765

господа, помогите разобраться с кодировками...

go8765
() автор топика
Ответ на: комментарий от go8765

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

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

судя по <meta http-equiv=«content-type» content=«text/html; charset=windows-1251» /> в вин-1251 но при

    file_put_contents($id . '.htm', iconv('windows-1251', 'utf-8//IGNORE', $page));
выхлоп нечитабельный....

go8765
() автор топика
Ответ на: комментарий от alozovskoy
    file_put_contents($id . '.htm', iconv('windows-1251', 'utf-8', $page));

тоже нечитабельно, или имелось ввиду, что я где-то нарушил синтаксис? а вообще... я пришёл на работу, там дебиан, поставил на него php +curl, запустил тот же скрипт и :

/bin/dump$ /usr/bin/php dumper.php
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 82
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 83
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 84
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 82
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 83
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 84
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 103
PHP Warning:  array_values() expects parameter 1 to be array, null given in /home/user1/bin/dump/dumper.php on line 103
PHP Warning:  array_reverse() expects parameter 1 to be array, null given in /home/user1/bin/dump/dumper.php on line 103
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  array_values() expects parameter 1 to be array, null given in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  array_reverse() expects parameter 1 to be array, null given in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  array_merge(): Argument #1 is not an array in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  array_merge(): Argument #1 is not an array in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  array_merge(): Argument #1 is not an array in /home/user1/bin/dump/dumper.php on line 113
PHP Warning:  Invalid argument supplied for foreach() in /home/user1/bin/dump/dumper.php on line 119
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 82
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 83
PHP Notice:  Undefined index: response in /home/user1/bin/dump/dumper.php on line 84
PHP Notice:  iconv(): Detected an illegal character in input string in /home/user1/bin/dump/dumper.php on line 151
PHP Notice:  iconv(): Detected an illegal character in input string in /home/user1/bin/dump/dumper.php on line 152

go8765
() автор топика
Ответ на: комментарий от go8765
 82   $name    = $info['response'][0]['first_name']; //
83   $surname = $info['response'][0]['last_name']; // -- Граббинг инфы о себе
84    $photo   = $info['response'][0]['photo']; // /
113         $messages = array_merge($messages, array_reverse(array_values($page['response'])));
119            foreach ($messages as $msg) { // Обрабатываем каждое сообщение
go8765
() автор топика
Ответ на: комментарий от go8765

тоже нечитабельно, или имелось ввиду, что я где-то нарушил синтаксис?

Имелось в виду что вторым параметром должна быть виндовая кодировка, а не utf-8 - нужно же на выходе получить виндовую кодировку, сервер страницу с ней пытается отдать. А первый параметр - исходная кодировка.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

на сколько я понимаю сервер как раз и отдаёт страницы в windows-1251 .... второй вариант - это если сделать так

 file_put_contents($id . '.htm', iconv('iso-8859-1', 'windows-1251', $page));
то формируются пустые файлы выхлопа если так
    file_put_contents($id . '.htm', iconv('utf-8', 'windows-1251', $page));
,то УРА! всё читаемо, но получаю я только одну маленькую часть выхлопа...

go8765
() автор топика
Ответ на: комментарий от go8765

то УРА! всё читаемо, но получаю я только одну маленькую часть выхлопа...

Ты знаешь что данные нужно искать в файле $id . '.htm'??

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

при

 file_put_contents($id . '.htm', iconv('iso-8859-1', 'windows-1251', $page));
выхлоп полный, но нечитабельный. при
     file_put_contents($id . '.htm', iconv('utf-8', 'windows-1251', $page)); 
выхлоп читабельный в .htm но не полный. полным формируется только одна из 3ёх переписок. но и она читабельна только в .htm, а в .txt Îëüãà Âëàäèìèðîâíà

go8765
() автор топика
Ответ на: комментарий от go8765

судя по всему из-за неправильно указанной кодировки...

go8765
() автор топика
Ответ на: комментарий от alozovskoy

там ещё вместо 1000 нужно 0 поставить

go8765
() автор топика
Ответ на: комментарий от go8765

вот, кстати, что enca по поводу выхлопа говорит :

user@mine:~/bin/vk/in$ enca '/home/user/bin/vk/in/5852212.txt' 
Universal transformation format 8 bits; UTF-8
  CRLF line terminators
  Doubly-encoded to UTF-8 from CP1251
user@mine:~/bin/vk/in$ 

go8765
() автор топика
Ответ на: комментарий от go8765

что бы прочитать этот файл приходиться делать

cat "твойфайл" | iconv -f utf8 -t cp1251
и читать выхлоп в консоле.... это уже прогресс, но пока не решение :(

go8765
() автор топика
Ответ на: комментарий от go8765

убрали вызов iconv и подправили head.tpl и всё заработало. спасибо за помощь!

go8765
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.