Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434

    Lavorare con l'esadecimale

    Ciao a tutti. Io ho un form per l'upload di un file, dopo l'upload, devo prendere alcuni byte esadecimali ad un certo offset del file. Come posso fare? Provando ad aprire il file con un programma per windows, Hex Workshop, il file viene diviso in offset e byte per offset. Ho la necessità di fare lo stesso con il php. Grazie a chiunque mi dia una mano :E

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non ho ben capito la tua richiesta. Vuoi prendere un certo numero di bytes da un byte determinato o vuoi stampare a video in forma esadecimale ?

    Se vuoi fare una specie di substr su un file puoi fare cosi.

    codice:
    <?php
    function subFile($fileName,$startByte, $length=0) {
      if ($length == 0) {
       $size = filesize($fileName) - $startByte - 1;
      } else {
       $size = $length;
      } // if ($length == 0)
      $file = fopen($fileName, "r");
      if (!$file) {
        echo "
    
    Impossibile aprire il file </p>.\n";
        return false;
      } // if (!$file)
      if ($startByte > 0) {
       $line = fread($file, $startByte);
      } // if ($startByte > 0) 
      $next = fread($file, $size);
      fclose($file);
      return $next;
    } // function subFile($fileName,$startByte, $length=0)
    
    function subFileHEX($fileName,$startByte, $length=0) {
     $result = subFile($fileName,$startByte, $length);
     $resHEX = "";
     for ($i=0;$i<strlen($result);$i++) {
      $resHEX .= ord($result[$i]);
     } // for ($i=0;$i<count($result);$i++) 
     return $resHEX;
    } // function subFileHEX($fileName,$startByte, $length=0)
    ?>
    <?php  
     //------ Il primo carattere è il numero 0 -> Prende tutto il file
     print subFile("pippo.txt",0); 
     print "</br>";
     //------ Prende 10 caratteri dal carattere 13 
     print subFile("pippo.txt",12,10);
     print "</br>";
     //------ Prende 10 caratteri dal carattere 13 
     print subFileHEX("pippo.txt",12);
     
     
    ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2025 vBulletin Solutions, Inc. All rights reserved.