Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Leggere array da php://input

    Salve a tutti. Per leggere un array da input "php://input"con il quale ottengo il contenuto di quando inviato come post.
    Ora i primi 4 byte dell'array formano un intero. Il problema è che non riesco a ricostruire l'intero. Se ad esempio eseguo un intval($DataIn[0]) ottengo sempre 0 mentre il valore è diverso da 0.
    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Scusa la domanda, ma come ti crei la richiesta (il POST dell'array) HTTP ?

  3. #3
    Un programma caricato su un dispositivo effettua un post verso la mia funzione php. Ciò che viene caricato in origine era un semplice file xml in formato compresso. Leggento da php://input e decomprimento con le funzioni zlib già fornite da php ricostruisco il documento xml senza problemi e riducendo il traffico da 4 a 10 volte.
    Ora si vuole inviare non solo il file xml ma anche un allegato binario. I primi 4 byte sarebbero l'intero che mi dice quanto grande sia il file xml di modo da dedurre la dimensione del binario allegato quindi:
    Lo stream di dati inizia con 4 byte che indicano la dimensione del xml. Tolti i 4 byte ed il doc xml rimane il binario.
    Mi serve quindi estrarre dall'array i 4 byte di modo da poter spachettare correttamente l'array.

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    e $DataIn come lo ricavi?

  5. #5
    Se devi ricavare un intero a 32 bit dai primi 4 byte dei tuoi dati puoi usare la funzione unpack(), es:

    Codice PHP:
    $unpacked unpack('Lnum'$data);
    print_r($unpacked); 
    vedi questa pagina per il corretto formato: http://php.net/manual/en/function.pack.php

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.