[php] plaatje downloaden en printen

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik wil is een plaatje vanaf $site ophalen en weer printen. Dit lijkt simpel en is het beslist ook, alleen krijg ik het niet voor elkaar :+

Deze code gebruik ik nu:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$myurl = "http://www.url.naar.het.plaatje/image.php?id=58585";
$content_array = file($myurl);
$content = implode("", $content_array);
$mysize = strlen($content);

header("Content-type: image/png");
header("Content-Length: ".$mysize);

print $content;
?>

$content bevat wel degelijk data, alleen krijg ik gewoon een kruisje als ik de betreffende php aanroep. Het plaatje is een .png file dus dat lijkt me in orde.

Iemand nog suggesties?

Acties:
  • 0 Henk 'm!

Verwijderd

Kun je een plaatje met file() inlezen dan

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 29 March 2003 @ 20:17:
Kun je een plaatje met file() inlezen dan
het kan wel, maar wat je nu doet is de content (source) van het plaatje lezen, dus niet een mooie afbeelding maar 100'den of zelf 1000'den wazige tekentjes die jou en PHP niks zeggen.

Je moet gewoon [img]"<?[/img]"> gebruiken en als ie helemaal klaar is met javascript de pagina uitprinten, is handigen en korter in scripting. Ik zal ook ff de code om te printen met JS opzoeken, ook handig als j zelf alvast begint :)

[edit]
de url al gevonden:
[rml][ JS] pagina printen[/rml]
voor meer resultaten:
lange url

[ Voor 31% gewijzigd door Verwijderd op 29-03-2003 20:32 ]


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:50
/*java script alert*/

Hier is de code om iets via JavaScript te printen(, kan ongetwijfeld simpeler):
code:
1
2
3
4
5
6
7
8
<script LANGUAGE="JavaScript">
function doPrint() {
  if (window.print) {
    window.print(); 
  }
}
</script>
<body OnLoad="doPrint()">

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk eens naar de PHP functie fpassthru als je het echt op je eigen manier wilt doen.

Acties:
  • 0 Henk 'm!

Verwijderd

Sybr_E-N schreef op 29 March 2003 @ 20:31:
/*java script alert*/

Hier is de code om iets via JavaScript te printen(, kan ongetwijfeld simpeler):
code:
1
2
3
4
5
6
7
8
<script LANGUAGE="JavaScript">
function doPrint() {
  if (window.print) {
    window.print(); 
  }
}
</script>
<body OnLoad="doPrint()">
waarom zolang? alleen <script>window.print();</script> is al genoeg :+

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:50
Verwijderd schreef op 29 March 2003 @ 20:32:
waarom zolang? alleen <script>window.print();</script> is al genoeg :+
Hmm ff getest en het volgende is zelfs al genoeg. (Waarom maak ik dan van die mooi functies erom heen 8)7 ):
code:
1
<BODY ONLOAD="window.print()">

Acties:
  • 0 Henk 'm!

Verwijderd

Sybr_E-N schreef op 29 March 2003 @ 20:38:
[...]


Hmm ff getest en het volgende is zelfs al genoeg. (Waarom maak ik dan van die mooi functies erom heen 8)7 ):
code:
1
<BODY ONLOAD="window.print()">
meestal is het zo, dat als je een goede methode hebt gevonde (de uitgebreide van jou) en die werkt, waarom dan nog anders proberen, o.a. die van mij (ook maar gejat :D)

Zo zijn de mensen, so do not wurrie ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Javascript is geen oplossing, het plaatje staat nl op een site waar te persoon die het plaatje moet zien niet bij kan en mag, het plaatje moest php dus ff binnenhalen en printen. Bij het binnenhalen lijkt me de bin code het makkelijkst omdat je die dan gewoon weer kunt printen. Ik wil dus met bovenstaande php echt alleen een plaatje printen, geen halve site of html. Ik wil nl in een html file zoiets als dit kunnen doen: [img]"plaatje.php"[/img]

fassthru() is volgens mij ook niet de functie die ik moet hebben, het lijkt me toch echt dat mijn code vrijwel moet werken....?

Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
header ( 'Content-Type: image/png' ); 
$fp = fopen ( 'http://www.domain.com/image.png', 'rb' ); 
fpassthru ( $fp );
fclose ( $fp );

file() is er niet echt voor gemaakt om binary files te lezen. Gebruik dan fread() ofzo, maar fpassthru() doet toch echt wat jij wilt.

[ Voor 3% gewijzigd door Verwijderd op 30-03-2003 15:01 ]


Acties:
  • 0 Henk 'm!

  • nxt
  • Registratie: November 2001
  • Laatst online: 24-08 15:34

nxt

Verwijderd schreef op 30 March 2003 @ 14:51:
fassthru() is volgens mij ook niet de functie die ik moet hebben, het lijkt me toch echt dat mijn code vrijwel moet werken....?
en je hebt minimaal PHP 4.3.0?
In PHP 4.3.0 file() became binary safe.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nxt schreef op 30 March 2003 @ 15:00:
[...]


en je hebt minimaal PHP 4.3.0?

[...]
Thanks dat is idd het probleem |:( :D

//edit

Even dat van Cheatah proberen...

[ Voor 42% gewijzigd door Verwijderd op 30-03-2003 15:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

nxt schreef op 30 maart 2003 @ 15:00:

en je hebt minimaal PHP 4.3.0?

Als je dan toch 4.3.0 zou hebben, is file_get_contents() een beter alternatief dan file(). Maar als je niets met de inhoud van de file wilt doen, gebruik dan 'gewoon' fpassthru() :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
fpassthru heeft het idd opgelost, thx cheatah ;)
Pagina: 1