Vonbo Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 Hei. Jeg kjører windows, med perl, og vil hente et bilde fra en url å legge lokalt i en mappe på pcen. Det funker når jeg bare flytter en fil rundt lokalt, men ikke når jeg putter en url som første parameter: $pictarget = "bilde/"; $source = "http://cache.finn.no/mmo/9/950/702/9_-2076186223_hoved.jpg"; copy($source, $pictarget) or die "Finner ikke bilde.\n"; Hvorfor virker ikke dette? Lenke til kommentar
Torbjørn Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 #!/usr/bin/perl use strict; use LWP::Simple; use File::Basename; my $pictarget = "bilde/"; my $source = "http://cache.finn.no/mmo/9/950/702/9_-2076186223_hoved.jpg"; my $fname = basename $source; my $data = get( $source ); open FILE, ">", $pictarget . $fname; print FILE $data; close FILE; Lenke til kommentar
Vonbo Skrevet 12. mars 2007 Forfatter Del Skrevet 12. mars 2007 Takk for svar. Det funker forsåvidt, men bare i den forstand at den henter bildet. Den skriver det ikke korrekt, så det blir et uleselig "kornete" bilde. Finnes det en måte å forklare print at det er et bilde som skrives? Lenke til kommentar
Gjest Slettet-df17e Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 Du kan ta en titt på File::Fetch modulen. Om du også er nye med Perl anbefaler jeg deg og bli kjent med cpan Lenke til kommentar
Torbjørn Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 det var litt rart. du kan skru av buffring ved å legge inn $|++; # nesten øverst i skriptet, men close FILE burde ordnet biffen. Lenke til kommentar
trtrtr Skrevet 18. mars 2007 Del Skrevet 18. mars 2007 På win32 må du sette filehandle i binær mode, ellers vil linjeskift (\n) tolkes som "\r\n", en endring som ikke er helt sunt å få inne i binær filer.. ... open FILE, ">", $pictarget . $fname; binmode FILE; ... Lenke til kommentar
medlem-68510 Skrevet 19. mars 2007 Del Skrevet 19. mars 2007 (endret) På win32 må du sette filehandle i binær mode, ellers vil linjeskift (\n) tolkes som "\r\n", en endring som ikke er helt sunt å få inne i binær filer.. ... open FILE, ">", $pictarget . $fname; binmode FILE; ... 8185207[/snapback] Han bruker LWP::Simple... EDIT: Opps. Stryk den ;p Så ikke lengre ned i koden. Endret 19. mars 2007 av Inf3rn090 Lenke til kommentar
Preben01 Skrevet 9. februar 2008 Del Skrevet 9. februar 2008 (endret) evn. kan du prøve: use LWP::Simple; mirror("http://url","c:\\bildermappe\\1.jpg"); Jeg har ikke hatt problemer med at bildene blir noe distorted da ... PS: Om du få feilmelding at du ikke har LWP::Simple installert, kan du skrive: ppm install LWP-Simple .... i kommandolinje .. så blir den installert (tror jeg ., skriver uten å teste) Endret 9. februar 2008 av Preben01 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå