Esiste un modo rapido e semplice per verificare se un file è ASCII o binario con PHP?Come verificare se il file è ASCII o binario in PHP
risposta
Questo funziona solo per PHP> = 5.3.0, e non è affidabile al 100%, ma hey, è dannatamente vicino.
// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME);
//check to see if the mime-type starts with 'text'
return substr(finfo_file($finfo, $filename), 0, 4) == 'text';
Risposta perfetta. + 1 – Cosine
Il collegamento interrotto: http://php.net/manual/en/book.fileinfo.php –
probabilmente dovrebbe controllare 'if (! $ Finfo) {echo" Apertura del database fileinfo fallito "; Uscita(); } 'e non dimenticare di:' finfo_close ($ finfo); '... –
Poiché ASCII è solo una codifica per il testo, con rappresentazione binaria, non proprio. È possibile verificare che tutti i byte siano inferiori a 128, ma anche questo non garantisce che sia stato progettato per essere decodificato come ASCII. Per quello che ne sai è un pazzo formato di immagine, o una codifica del testo completamente diversa che non ha nemmeno l'uso di tutti gli otto bit. Potrebbe essere sufficiente per il tuo uso, però. Se vuoi solo verificare se un file è ASCII valido, anche se non è un "file di testo", sarà sicuramente sufficiente.
Probabilmente si dovrebbe verificare tipo MIME del file, ma se siete disposti a caricare il file in memoria, forse si potrebbe verificare se il buffer è costituito da tutti i-stampabili-caratteri utilizzando qualcosa come:
<?php
$probably_binary = (is_string($var) === true && ctype_print($var) === false);
Non perfetto, ma potrebbe essere utile in alcuni casi.
Tab e ritorni a capo renderanno' ctype_print() 'return FALSE, sfortunatamente. – dotancohen
- 1. Come verificare se il file è binario?
- 2. Controlla se un file è binario o ASCII con Node.js?
- 3. Verificare che un file STL sia ASCII o binario
- 4. Come verificare una stringa se è un ASCII o no?
- 5. linux + verifica se il file è testo o binario
- 6. Come posso verificare se un file è o meno un'immagine?
- 7. Come verificare se il file è un'immagine
- 8. Come posso verificare se un binario compilato è 32bit o 64it?
- 9. Java, Runtime.exec o ProcessBuilder: come sapere se il file è shell o binario?
- 10. Come verificare se PHP mail() è abilitato?
- 11. Come verificare se l'utente ha caricato un file in PHP?
- 12. Magento Come verificare se il carrello è vuoto o no?
- 13. PHP exec - verificare se abilitato o disabilitato
- 14. Come verificare se una variabile è primitiva in PHP
- 15. verifica se un file binario è stato compilato con "-static"
- 16. Come verificare se esiste un file immagine remoto in PHP?
- 17. Come verificare se il file è crittografato utilizzando AES (Rijndael)
- 18. Come verificare se il file è un file binario e leggere tutti i file che non lo sono?
- 19. Ruby: come determinare se il file da leggere è binario o testo
- 20. Come verificare se il campo è nullo o vuoto mysql?
- 21. come verificare se il campo del file è vuoto?
- 22. come verificare se UIWebView è vuoto o no
- 23. Come verificare se l'oggetto JSON è vuoto in PHP?
- 24. Come verificare se un metodo è statico in PHP?
- 25. Come verificare se la voce mysql è vuota in PhP?
- 26. Come verificare se il file è gzip o non in java
- 27. Verificare se il file è in uso con VBS
- 28. Come verificare se il documento è pronto?
- 29. PHP - come usare $ timestamp per verificare se oggi è lunedì o il 1 ° del mese?
- 30. come verificare se l'arricciatura è attivato o disattivato
Questo è stato chiesto prima, ma mi chiedo sempre, perché ti importa se è ascii o binario? – Pyrolistical
Simile, ma non un duplicato. Questo ha una risposta semplice e tecnica, mentre la supposta identica domanda è molto più difficile. C'è una grande differenza tra chiedere se un file è in codifica X o in qualsiasi codifica. –
No, leggilo di nuovo, quei tipi erano solo esempi. Sta cercando la stessa cosa binario vs testo – Pyrolistical