Ogłoszenie

Zwiń
No announcement yet.

Wysyłanie obrazków

Zwiń
X
 
  • Filtr
  • Czas
  • Pokaż
Wyczyść wszystko
new posts

    Wysyłanie obrazków

    Mam mały problem. Próbuje zrobić wysyłanie obrazków z bota do usera. Wszystko niby działa ok, ale tylko na GG 10, mobilne na java i na androidzie, przez przeglądarkę w ogóle nie pokazuje wiadomości zwrotnej (innych klientów nie sprawdzałem)


    Kod php:
    $q $db->query("select * from `obrazek' ");
     while(
    $a$q->fetch_assoc())
         {
    $kto$a['kto'];
    $id$a['id'];
    $nazwa$a['nazwa'];
    }
    $mb = new MessageBuilder();
    $f 'upload/'
     
    $e '.jpg'
    $mb->addText("Obrazek ID [$id] Dodał/a $kto :\n")->setRecipients($from); 
         
    $mb->addImage("$f$nazwa$e")->setRecipients($from);  
    $p->push($mb);
        
    $mb->clear(); 
    Jeśli zamiast
    Kod php:
    $mb->addImage("$f$nazwa$e"); 
    dam bezpośrednią lokalizacje
    Kod php:
    $mb->addImage("sciezka/nazwa.jpg"); 
    to wszystko działa poprawnie. W przeciwnym razie nie wyświetla nic.
    Ktoś wie o co chodzi? Zależy mi żeby wczytywało z bazy.


    EDIT: Nie pokazuje zwrotnej wtedy kiedy jednocześnie jestem na kilku klientach (np. tel i w przeglądarce). Ale zastanawia mnie czemu inne wiadomości pokazuje na oby dwóch, czy nawet 3 komunikatorach a wiadomości z obrazkiem nie.
    Ostatnio edytowany przez Cheater; [ARG:4 UNDEFINED].

    #2
    A daj
    Kod:
    $nb->addImage($f.$nazwa.$e);
    Wysłane z mojego GT-S5570 przy użyciu Tapatalka

    Komentarz


      #3
      Działa tak samo, już sprawdzalem

      Komentarz


        #4
        addImage() nie otwiera pliku tylko go wysyła użyje funkcji file_get_contents() do otwarcia pliku następnie go wyslij za pomocą addimage

        $hm = file_get_contents("upload/{$nazwa}.jpg");
        $mb->addImage($hm);
        CzatGG: Kliknij!
        Moje GG: Kliknij!

        Komentarz


          #5
          Macjon, ale zawsze sie dawalo nazwe pliku do addImage()...

          Wysłane z mojego GT-S5830 przy użyciu Tapatalka

          Komentarz


            #6
            Majcon, addImage() dodaje obrazek do wiadomości, niepotrzebna jest zabawa z file_get_contents().

            Cheater,
            1) Czy otworzyłeś klase PushConnection()? Na urywku twojego skryptu nie widać byś ją otwierał, a jej używasz.
            2) Polecał bym bardziej taki sposób $f.$nazwa.$e bez cudzysłowia.
            3) Upewnij się czy obrazek (a bardziej jego nazwa) zapisuje się poprawnie do bazy danych.
            Jak zarabiać w internecie?
            Kody rabatowe do popularnych hostingów!
            Darmowe przedmioty CS:GO!
            Jak włamać się na konto GG!

            Komentarz


              #7
              @majcon
              Popatrz sobie w kod klasy MessageBuilder, a jeśli się w niej nie ogarniasz to w przykłady GG. Jest jak byk podawana ścieżka.

              @Nydylier
              1) Gdyby nie otworzył klasy PushConnection w żadnym wypadku nie dostałby wiadomości a pisze, że takową dostaje. Przeczytaj dokładnie temat zanim coś napiszesz.
              2) Polecasz bo? Zbędne tworzenie zmiennych, zaśmiecanie kodu i zużywanie zasobów serwera. (przy dużym projekcje(nie czat) może to być sporym problemem a dodatkowo wydłuża czas).
              3) Jakiej bazy? Widzisz gdzieś tutaj jakiekolwiek zapytanie do bazy, skorzystanie z ORM czy choćby odwołanie do własnoręcznej bazy? Zdjęcia są trzymane w pliku. Poza tym to samo co w pkt. 1) Przeczytaj dokładnie i ZE ZROZUMIENIEM.

              Komentarz


                #8
                @Wazniak96,
                1) Tu mój błąd.
                2) Treść w cudzysłowiu jest dłużej przetwarzana (co prawda są to setne sekundy, ale są). Co prawda jak to woli, ale przy cudzysłowiach często są pomyłki.
                3) Ja widzę, a ty widocznie ślepy jesteś. Zauważ że nazwa pliku pobierana jest z bazy danych, a więc problem może być przy zapisie nazwy do bazy.

                - - - Updated - - -

                Jeszcze dodam...
                Zamieszczone przez Wazniak96 Zobacz posta
                Zbędne tworzenie zmiennych, zaśmiecanie kodu i zużywanie zasobów serwera. (przy dużym projekcje(nie czat) może to być sporym problemem a dodatkowo wydłuża czas).
                1) Szybciej zostanie wykonane:
                Kod:
                $mb->addImage($f.$nazwa.$e);
                niż:
                Kod:
                $mb->addImage("$f$nazwa$e");
                2) Czy ty w ogóle wiesz co piszesz i o czym? Jakie tworzenie zbędnych zmiennych i zaśmiecanie kodu?
                Jak zarabiać w internecie?
                Kody rabatowe do popularnych hostingów!
                Darmowe przedmioty CS:GO!
                Jak włamać się na konto GG!

                Komentarz


                  #9
                  Tu już nie chodzi o samo wysyłanie obrazka, bo to działa, tylko o to dlaczego zwykle wiadomości dochodzą na wszystkie komunikatory jednocześnie włączone, a te z obrazkiem na wszystkie poza gg w przeglądarce...

                  Komentarz


                    #10
                    Spróbuj może użyć tagu <img> w wiadomości skonstrułowanej jako HTML

                    Z dokumentacji gg bot API:
                    <img> - powinien zawierać atrybut name z identyfikatorem obrazka opisanym niżej; dodatkowo może zawierać atrybuty: style, width oraz height
                    atrybut name składa się z 16 znaków - pierwszych 8 znaków to suma kontrolna CRC32 zapisana szesnastkowo, kolejnych 8 znaków to wielkość obrazka w bajtach zapisana szesnastkowo
                    lub spróbuj podać zamiast np. upload/plik.jpg pełnen link: http://www.moja-strona.pl/upload/plik.jpg
                    Ostatnio edytowany przez Nydylier; [ARG:4 UNDEFINED]. Powód: double
                    Jak zarabiać w internecie?
                    Kody rabatowe do popularnych hostingów!
                    Darmowe przedmioty CS:GO!
                    Jak włamać się na konto GG!

                    Komentarz


                      #11
                      mało byłem przytomny pisząc tamten post
                      Kod:
                      	$q = $db->query("SELECT `kto`, `id`, `nazwa` FROM `obrazek`");
                      	while($a = $q->fetch_assoc()){
                      		$kto = $a['kto'];
                      		$id = $a['id'];
                      		$nazwa = $a['nazwa'];
                      	}
                      	$mb = new MessageBuilder();
                      	$mb->addText( "Obrazek ID [{$id}] Dodał/a {$kto} :\n" )->addImage("upload/{$nazwa}.jpg", IMG_RAW)->setRecipients($from);
                      	$p->push($mb);
                      	$mb->clear();
                      masz sprawdź
                      CzatGG: Kliknij!
                      Moje GG: Kliknij!

                      Komentarz


                        #12
                        2. Jest dłużej przetwarzana w podanej formie. Dlaczego? Bo cały string jest parsowany. Prawidłowo wyglądać powinno to tak:
                        Kod php:
                        $M->addImage('upload/'.$nazwa.'.jpg'); 
                        3. Serio chyba ślepy byłem. Pewnie to kolejny skutek picia samogonu

                        Komentarz

                        Pracuję...
                        X