Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
raxz
HV Guru
liitunud: 27.07.2003
|
04.08.2021 14:36:46
PHP ja CBOR |
|
|
Püüan CBORi lahti kodeerida, aga ei oska libraryt kasutada.
https://github.com/Spomky-Labs/cbor-php
composer require spomky-labs/cbor-php tegin Zones ära.
$object = TextStringObject::createFromHex($cbordata); |
>>>
Fatal error: Uncaught Error: Class 'CBOR\TextStringObject' not found in /data01/... |
Oskab keegi aidata või viidata õiges suunas?
|
|
Kommentaarid: 46 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
45 |
|
tagasi üles |
|
|
serxx
Kreisi kasutaja
liitunud: 17.09.2002
|
04.08.2021 15:01:25
|
|
|
Täiesti puusalt tulistan...
Kas probleemiks võib olla \ vs / ?
Logist paistavad linuxi tüüpi kaustad. Koodi use rida pakub windowsi tüüpi kaustasid ja veateade viitab ka windowsi tüüpi kaustale.
Äkki prooviks teistpidi kaldkriipsuga?
use CBOR/TextStringObject;
|
|
|
Kommentaarid: 153 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
2 :: |
138 |
|
tagasi üles |
|
|
raxz
HV Guru
liitunud: 27.07.2003
|
04.08.2021 15:43:08
|
|
|
Just nii. Eile just parandasin teises kohas sarnast asja pärast ridade kopeerimist.
Aga nüüd uued vead.
Parse error: syntax error, unexpected '/', expecting ',' or ';' in /data01/ |
Rida 2 error. Rida 1-3:
<?
use CBOR/Tag/TimestampTag;
use CBOR/UnsignedIntegerObject; |
Midagi siin ikka ei meeldi.
|
|
Kommentaarid: 46 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
45 |
|
tagasi üles |
|
|
serxx
Kreisi kasutaja
liitunud: 17.09.2002
|
04.08.2021 16:12:46
|
|
|
Kas sul on äkki puudu composeri require?
require __DIR__ . '/vendor/autoload.php'; |
Tegin ise ühes virtukas katse.
Pole ei composeri ega CBOR asjadega kunagi kokku puutunud varem.
Composer tekitas jooksvasse kausta (antud juhul veebiserveri root kasutas asuv test nimeline kaust) 'vendor' nimelise kausta, kuhu sisse pani enda jaoks vajalikud asjad + need asjad mis sa tema kaudu paigaldad.
Lihtsalt selline asi annab mulle ka veateate, et klassi ei leita:
use CBOR\UnsignedIntegerObject;
|
Kui composeri kasutusjuhendit lugeda ja lisada composer ka juurde, siis töötab:
require __DIR__ . '/vendor/autoload.php';
use CBOR\UnsignedIntegerObject;
|
Kogu minu testkood:
<?php
// test/test.php
require __DIR__ . '/vendor/autoload.php';
use CBOR\UnsignedIntegerObject;
$object = UnsignedIntegerObject::create(10);
$object = UnsignedIntegerObject::create(1000);
$object = UnsignedIntegerObject::create(10000);
$object = UnsignedIntegerObject::createFromHex('0AFFEBFF');
echo bin2hex((string)$object); // 1a0affebff
?> |
küsides veebiserverist aadressit domain.tld/test/test.php, saan korrektse vastuse, 1a0affebff
|
|
Kommentaarid: 153 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
2 :: |
138 |
|
tagasi üles |
|
|
raxz
HV Guru
liitunud: 27.07.2003
|
04.08.2021 21:33:09
|
|
|
Nii, use enam errorit ei anna.
Aga require ei leia faili. Otsib samast kaustast, kus skript on. Seal ilmselt ei ole. Või peaksin kuidagi teisiti selle faili talle selgeks tegema?
Warning: require(/data01/.../vendor/autoload.php): failed to open stream: No such file or directory in /data01/.../test.php on line 3 |
|
|
Kommentaarid: 46 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
45 |
|
tagasi üles |
|
|
serxx
Kreisi kasutaja
liitunud: 17.09.2002
|
04.08.2021 22:13:35
|
|
|
require peab viitama sellele kaustale, kus sul 'vendor' nimeline kaust on. Kui see ei ole sinu php failiga samas kaustas, pead viitama kuhugi mujale ilmselt või panema nad ühte kohta kokku.
Mina tegin oma masinas /var/www/html kausta alamkausta test. Seal kaustas installisin/käivitasin composeri ja tõmbasin CBOR library.
Sinna kausta tegin ka test.php faili.
Apache root on: /var/www/html
/var/www/html/test kaustas on (mälu järgi - pole seda virtukat enam):
test.php
composer.json
composeri.lock <- (vist oli lock laiend, 100% kindel ei ole)
vendor <- kaust, kus sees on autoload.php ja lisaks veel kautasid, kus sees on ka CBOR asjad.
katsun browseriga: http://<ip>/test/test.php
Sellisel juhul töötab minu tehtud test ja nii nagu ka dokumentatsioon kirjutab.
Kui sul on php raknduse faili ja vendor kausta relatiivne asukoht teine, pead teekondasid vastavalt korrigeerima ilmselt.
|
|
Kommentaarid: 153 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
2 :: |
138 |
|
tagasi üles |
|
|
raxz
HV Guru
liitunud: 27.07.2003
|
05.08.2021 13:36:39
|
|
|
Sain selle faili kätte. Pidin paar kausta tagasi minema.
require '../../../../vendor/autoload.php'; |
Nüüd saan õiged andmed kätte, aga järgmine samm vajab veel ühte lahti kodeerimist.
Proovin QR koodist infot PHPga kätte saada. https://ehealth.vyncke.org
Seal on jutt, milleni ma ei oska jõuda.
tsitaat: |
A COSE signed messages contains 'claims' protected/signed by the CBOR Web Token in this case what is certified valid by a EU Member State. The CBOR-encoded claims payload is: |
Ja selle järel tuleks siis JSONi loetavaks tegemine?
|
|
Kommentaarid: 46 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
45 |
|
tagasi üles |
|
|
serxx
Kreisi kasutaja
liitunud: 17.09.2002
|
05.08.2021 18:47:12
|
|
|
see on suht lihtne
1. dekodeeri pildi pealt QR kood, saad mingi binaarse data
2. kui esimesed kolm baiti sisaldavad HC1, siis viskad need sealt algusest minema, kui ei, siis ilmselt ei loetud mõistlikku QR koodi või on see vigane.
3. järele jäänud data lased läbi base45 dekoodri
4. edasi lased tulemuse läbi zlib uncompressi
5. lõpuks lased selle läbi CBOR/COSE dekoodri ja saad ilmselt siis mingi objekti, mida on ilmselt võimalik ka JSON kujul esitada, kui seda peaks olema vaja teha.
Põhimõtteliselt polegi vaja midagi kirjutada eriti.
Kõige selle jaoks kasutad ju nagunii kellegi teise tehtud koodi.
Lao ainult paar lego klotsi õigesti ritta ja ongi tulemus käes.
|
|
Kommentaarid: 153 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
2 :: |
138 |
|
tagasi üles |
|
|
raxz
HV Guru
liitunud: 27.07.2003
|
05.08.2021 19:00:15
|
|
|
See viimane asi, mille sinu abiga käima sain, oligi läbi CBOR dekoodri, aga see ei ole veel viimane tulemus. Seal paistab 1 samm veel olevat. Või siis kasutan dekoodrit valesti…
|
|
Kommentaarid: 46 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
45 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|