Ogłoszenie

Zwiń
No announcement yet.

Wysyłanie obrazków

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

  • Wazniak96
    odpowiedział(a)
    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

    Zostaw komentarz:


  • Majcon
    odpowiedział(a)
    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ź

    Zostaw komentarz:


  • Nydylier
    odpowiedział(a)
    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

    Zostaw komentarz:


  • Cheater
    odpowiedział(a)
    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...

    Zostaw komentarz:


  • Nydylier
    odpowiedział(a)
    @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?

    Zostaw komentarz:


  • Wazniak96
    odpowiedział(a)
    @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.

    Zostaw komentarz:


  • Nydylier
    odpowiedział(a)
    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.

    Zostaw komentarz:


  • krzos
    odpowiedział(a)
    Macjon, ale zawsze sie dawalo nazwe pliku do addImage()...

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

    Zostaw komentarz:


  • Majcon
    odpowiedział(a)
    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);

    Zostaw komentarz:


  • Cheater
    odpowiedział(a)
    Działa tak samo, już sprawdzalem

    Zostaw komentarz:


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

    Zostaw komentarz:


  • Cheater
    rozpoczął temat Wysyłanie obrazków

    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].
Pracuję...
X