Avatar billede tigertool Nybegynder
24. juni 2004 - 14:26 Der er 11 kommentarer og
1 løsning

Udskrive fil i binary mode

Hvordan kan man (og kan man overhovedet) udskrive en fils binary indhold?

Jeg har kigget lidt rundt på php.net - men jeg kunne ikke rigtigt finde noget.
Er der nogen der har et script liggende som kan gøre dette?
Avatar billede jaw Nybegynder
24. juni 2004 - 14:30 #1
Er det show_source("filnavn.php"); du tænker på?
Avatar billede dennismp Nybegynder
24. juni 2004 - 14:59 #2
readfile kan snildt bruges til at "udskrive" filer selvom de er binære - jeg tror faktisk langt de fleste af filfunktioner kan klare binære filer..

Men hvad mener du med at udskrive ?

Du kan snildt lave et phpscript:
<?php
header("Content-type: image/jpeg");
readfile("etjpegbillede.jpg");
?>

som burde virke på samme måde som du havde kaldt etjpegbillede.jpg direkte.
Avatar billede swaxi Nybegynder
24. juni 2004 - 16:06 #3
binary/text mode er noget som microsoft-drengene har opfundet. da php kører i et webmiljø (og i øvrigt som regel på en *nix maskine), så er der ikke forskel mellem om en fil er binær eller tekst.
Avatar billede tigertool Nybegynder
24. juni 2004 - 17:09 #4
den show_source("foo.bar"); giver et underligt udskrift. Kan det ikke komme ud i 1 og 0'er ?
Avatar billede dennismp Nybegynder
25. juni 2004 - 00:03 #5
show_source() er til at vise en php-fil-source.. Ikke andet.. Hvis du vil vise filen med kun 0'er og 1'er så får du MEGET output.

Forrige afsnit vil fx være 1040 0/1'er. Hvad vil du dog bruge det til? :)

<?php
$content = file_get_contents('enfil.jpg');
for($i=0;$i<strlen($content);$i++) {
  printf("%08d", decbin(ord($content{$i})));
}
?>
Avatar billede jaw Nybegynder
25. juni 2004 - 00:04 #6
Ja, det var mig der misforstod, sry ! :(
Avatar billede tigertool Nybegynder
25. juni 2004 - 00:26 #7
Det er til et lille forsøg :)

Jeg vil beregne forskellen på samme word-dokument (hvor den ene har lidt mere tekst end den anden).

Skal man da ikke ned på bit niveau for at beregne forskellen?
Avatar billede tigertool Nybegynder
25. juni 2004 - 00:44 #8
file_get_contents() er desværre ikke en mulig funktion i den version af PHP jeg ar adgang til.. :(
Avatar billede dennismp Nybegynder
25. juni 2004 - 00:47 #9
word-filer er nogle avanceret (og lukkede) fileformater.. Så jeg vil ikke ane hvordan du kan gøre det. Du kan nemt få det i bits, men det hjælper ikke meget hvis man ikke ved hvordan de skal tolkes :-)
Avatar billede tigertool Nybegynder
25. juni 2004 - 00:49 #10
Nu tager jeg lige en ting af gangen.. først det med at se filerne i bits.. det andet _tror_ jeg jeg har en bonderøvs-løsning på.. men det er jo det jeg skal teste i mit lille forsøg..

Har du et forslag til hvad man gør hvis man ikke kan bruge file_get_contents() ???
Avatar billede dennismp Nybegynder
25. juni 2004 - 01:10 #11
function file_get_contents($filename) {
  $handle = fopen($filename, "r");
  if(!$handle) return false;
  $buffer = '';
  while (!feof($handle)) {
    $buffer .= fgets($handle, 4096);
  }
  fclose($handle);
  return $buffer;
}
Avatar billede tigertool Nybegynder
25. juni 2004 - 02:15 #12
Takker og lukker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester