externe afbeelding downloaden
Heeft iemand voor mij een script waarmee afbeeldingen gedownload kunnen worden vanaf andere websites?
Het lieftst zou ik een bestandje maken genaamd download.php, met de mogelijkheid om naar die pagina te linken met daarachter een link naar een afbeelding van een externe website, die bij het bezoeken van download.php gedownload wordt. Dus zo: download.php?file=http://www.google.nl/intl/nl_nl/images/logo.gif
Maar wat moet er dan in download.php staan?
Gr. Bob
Gewoon met een image(jpeg|png|gif) functie :)
Zou je me alsjeblieft een scriptje hiervoor kunnen geven? ik ben hier niet erg goed in
Of begrijp ik de topicstarter nu verkeerd. Wil je een download forceren voor de afbeelding? Of wil je een afbeelding weergeven op je website.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Kan ook met fopen etc
Quote:
imagegif
(PHP 4, PHP 5)
imagegif — Output image to browser or file
(PHP 4, PHP 5)
imagegif — Output image to browser or file
Als je hem dus een download wil forceren heb je toch iets anders nodig.
http://www.phphulp.nl/php/scripts/7/1052/
Het gaat er dus om dat ik een download wil forceren van een afbeelding die op een andere website staat. Het wil me niet erg lukken met GD, ik ben opzoek naar een scriptje wat ik op download.php kan plaatsen waardoor ik alleen maar ?file=http://blablabla erachter hoef te plaatsen om die afbeelding te downloaden. Voor afbeeldingen die ik zelf host lukt dat wel, maar niet met afbeeldingen op een andere website... Heeft iemand een script daarvoor?
Bob schreef op 18.02.2009 09:49:
Het gaat er dus om dat ik een download wil forceren van een afbeelding die op een andere website staat. Het wil me niet erg lukken met GD, ik ben opzoek naar een scriptje wat ik op download.php kan plaatsen waardoor ik alleen maar ?file=http://blablabla erachter hoef te plaatsen om die afbeelding te downloaden. Voor afbeeldingen die ik zelf host lukt dat wel, maar niet met afbeeldingen op een andere website... Heeft iemand een script daarvoor?
Niet echt legaal.
Dat de foto's waar ik naar wil linken op een andere website staan wil nog niet zeggen dat ze niet van mij zijn...
Bob schreef op 18.02.2009 10:10:
Waarom is dat niet legaal?
Dat de foto's waar ik naar wil linken op een andere website staan wil nog niet zeggen dat ze niet van mij zijn...
Dat de foto's waar ik naar wil linken op een andere website staan wil nog niet zeggen dat ze niet van mij zijn...
Dat is waar. Als het alleen eigen materiaal betreft was ik een beetje te snel met mijn conclusie.
Het script wat mij net gegeven werd werkt ook alleen voor afbeeldingen die ik op dezelfde website host.. zou het misschien mogelijk zijn om op een of andere manier de url van het desbetreffende plaatje te bezoeken in de "downloadmodus"?
Gewijzigd op 01/01/1970 01:00:00 door Bob v H
Bob schreef op 18.02.2009 09:49:
Voor afbeeldingen die ik zelf host lukt dat wel, maar niet met afbeeldingen op een andere website... Heeft iemand een script daarvoor?
Kan ook een beperking zijn van je hostingprovider.
Oke, en Arjan, weet je misschien of er een referentie bestaat voor het downloaden van een foto bij google webalbums? Hij staat niet in de lijst :S
http://nl3.php.net/copy ) gebruiken, mits jouw host het toe staat urls te openen.
Daarvoor kan je gewoon copy ( Bob schreef op 18.02.2009 10:39:
Oke, en Arjan, weet je misschien of er een referentie bestaat voor het downloaden van een foto bij google webalbums? Hij staat niet in de lijst :S
Wat bedoel je met referentie en naar welke lijst verwijs je nu?
Ik zocht ook een keer een force-download scriptje, deze heb ik gevonden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if( $filename == "" )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if( $filename == "" )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
Bij file_exists() geeft het FALSE.
Wanneer ik het met een afbeelding probeer die onder de zelfde domeinnaam lukt het wel...
Arjan, met referentie bedoel ik een url die linkt naar een pagina van google waar automatisch de foto (op volledig formaat) gedownload wordt.
Boaz, zou dat dan zoiets worden? :
Code (php)
En als dat klopt, waar zal ik het dan plaatsen in het script van HaTe?
Gr. Bob
Er zijn ook alternatieven voor file_exists. Je kan het ook weghalen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
if(empty($filename))
{
echo "Gebruik forcedownload.php?file=filepath";
exit;
}
$ctype = mime_content_type($filename);
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
if(empty($filename))
{
echo "Gebruik forcedownload.php?file=filepath";
exit;
}
$ctype = mime_content_type($filename);
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
//edit
Dit werkt niet zo goed, wacht even :P
//edit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
if(empty($filename))
{
echo "Gebruik forcedownload.php?file=filepath";
exit;
}
$ctype = mime_content_type($filename);
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".strlen(readfile($filename)));
readfile($filename);
exit();
?>
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
if(empty($filename))
{
echo "Gebruik forcedownload.php?file=filepath";
exit;
}
$ctype = mime_content_type($filename);
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".strlen(readfile($filename)));
readfile($filename);
exit();
?>
Dit werkt
Gewijzigd op 01/01/1970 01:00:00 door Kay Kay
Bedankt!