• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Powtarzające się wiadomości wysyłane na telegrama

Aruba Cloud - Virtual Private Server VPS
0 głosów
180 wizyt
pytanie zadane 29 sierpnia 2022 w PHP przez AnimaVillis Stary wyjadacz (13,090 p.)
zamknięte 30 sierpnia 2022 przez AnimaVillis

Witam,

Mam mały problem z kodem. Zacznę więc od kodu

index.php

<?php

require('simple_html_dom.php');

$nazwa_pliku = '';

$html = file_get_html('');
$oferty = [];

if (file_exists($nazwa_pliku)) {  
        $dane = file_get_contents($nazwa_pliku);

        foreach ($html->find('div.object-grid-item-wrapper') as $oferta) {
                $OfertaSzczegoly = $oferta->find('a', 0);
                $TytulOferty = $OfertaSzczegoly->find('h4.object-grid-item-title', 0)->plaintext;
                $URLOferty = '' . $OfertaSzczegoly->href;
                $OfertaSzczegolyID = substr($URLOferty, -11);
                $OfertaSzczegolyIDB = str_replace('.html', '', $OfertaSzczegolyID);
                $oferty[] = [
                        'tytul' => trim($TytulOferty),
                        'url' => $URLOferty,
                        'id' => $OfertaSzczegolyIDB
                ];
        }

        $json_arr = json_decode($dane, true);

        $ids = array_column($json_arr, 'id');
        $ogl = array_column($oferty, 'id');
        $x = 0;
        foreach($ogl as $info){
                if (in_array($info, $ids)) {
                 } else {
//                         $token = "";
//                                 $data = [
//                                 'text' => 'Pojawiło się nowe ogłoszenie!
// Jego link: '.$oferty[$x]["url"].'',
//                                 'chat_id' => ''
//                                 ];
//                                 file_get_contents("https://api.telegram.org/bot$token/sendMessage?" . http_build_query($data) );
//                         }
        $x++;
        sleep(2);
        }

        $plik_json = fopen($nazwa_pliku, 'w');
        fwrite($plik_json, json_encode($oferty, JSON_PRETTY_PRINT));
        fclose($plik_json); 
} else {
        echo "Brak $nazwa_pliku, proszę utworzyć.";
}
?>

Dodatkowo plik json, który zwraca mi wyniki z simplehtmldom. 

Tam jest obecnie 114 ogłoszeń i tyle samo w pliku json, jest możliwość że ilość jest za duża?
Są dwie tablice jedna, która ma zapisane już id ogłoszenia w pliku json oraz druga, która pobiera najświeższe id ze strony. Problem polega na tym, że potrafi 300 wiadomości na telegrama puścić powtarzając wiadomości informując jako nowe ogłoszenie. 

I tutaj nasuwa mi się proste pytanie, gdzie leży błąd w takim zachowaniu?

komentarz zamknięcia: Rozwiązane.

Podobne pytania

0 głosów
1 odpowiedź 183 wizyt
pytanie zadane 19 lipca 2018 w JavaScript przez GracjanDogg Użytkownik (840 p.)
0 głosów
1 odpowiedź 2,002 wizyt
pytanie zadane 18 października 2019 w Inne języki przez lukasz290521 Obywatel (1,410 p.)
0 głosów
2 odpowiedzi 375 wizyt

93,331 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,667 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...