plaatjes opslaan met php?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart niethenk

bart niethenk

07/12/2009 16:13:00
Quote Anchor link
Hallo iedereen,

Ik heb de source's van de images en daar zet ik tot nu toe de <img> tags omheen en set de source zodat er plaatjes te zien zijn.
Nu heb ik die plaatjes niet lokaal staan (want ik gebruik de source van een andere website).
Nu wil ik graag de plaatjes in een folder opslaan.

Hoe kan ik dit het beste doen met php zodat ik niet elke keer rechtsklik enzo moet doen en dan save as.(want daar hebben de meeste mensen geen zin in).

Bedankt!
 
PHP hulp

PHP hulp

25/04/2024 15:45:02
 
Dennis de Vries

Dennis de Vries

07/12/2009 16:20:00
Quote Anchor link
Waarom wil je de plaatjes opslaan? Waarom willen de gebruikers de plaatjes opslaan?

edit: en om hoeveel plaatjes gaat het?
Gewijzigd op 01/01/1970 01:00:00 door Dennis de Vries
 
Bart niethenk

bart niethenk

07/12/2009 16:23:00
Quote Anchor link
Dennis de Vries schreef op 07.12.2009 16:20:
Waarom wil je de plaatjes opslaan? Waarom willen de gebruikers de plaatjes opslaan?


Inplaats van dat ie steeds stuk per stuk gaat ophalen van die plaatjes leek het mij makkelijker om die plaatjes gewoon op te slaan (in een folder) zodat ie dan niet steeds dat script hoeft te laden om die plaatjes op te halen.
Gewijzigd op 01/01/1970 01:00:00 door bart niethenk
 
Dennis de Vries

Dennis de Vries

07/12/2009 16:27:00
Quote Anchor link
Zoek eens op google 'save images php curl/fopen', ik krijg direct resultaat.
 
Winston Smith

Winston Smith

07/12/2009 16:54:00
Quote Anchor link
Voorbeeldstukje (niet getest). Kan je wel verder uitwerken, zodat ook bestandsnamen gekopieerd worden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$url
= 'http://website.nl/images/afbeelding.jpeg';
$file = 'bestandsnaam.jpeg';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$raw = curl_exec($ch);

$fh = fopen($file, 'w');
fwrite($fh, $raw);
fclose($fh);
curl_close($ch);
?>


Edit:
Uiteraard moet de extensie cURL wel aanstaan op je server. Let er ook op dat de folder waarin je de afbeeldingen opslaat writable is door Apache (meestal wwwuser). Eventueel kan je bij het openen van het bestand (fopen) nog expliciet de directory opgeven, zodat je niet hoeft te zoeken naar waar je plaatjes gebleven zijn (of je verandert de working directory met chdir()). ;)
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
 
Bart niethenk

bart niethenk

07/12/2009 17:05:00
Quote Anchor link
Kasper schreef op 07.12.2009 16:54:
Voorbeeldstukje (niet getest). Kan je wel verder uitwerken, zodat ook bestandsnamen gekopieerd worden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$url
= 'http://website.nl/images/afbeelding.jpeg';
$file = 'bestandsnaam.jpeg';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$raw = curl_exec($ch);

$fh = fopen($file, 'w');
fwrite($fh, $raw);
fclose($fh);
curl_close($ch);
?>


Edit:
Uiteraard moet de extensie cURL wel aanstaan op je server. Let er ook op dat de folder waarin je de afbeeldingen opslaat writable is door Apache (meestal wwwuser). Eventueel kan je bij het openen van het bestand (fopen) nog expliciet de directory opgeven, zodat je niet hoeft te zoeken naar waar je plaatjes gebleven zijn (of je verandert de working directory met chdir()). ;)


Dit werkte erg goed!

heel erg bedankt iedereen.
 
Wouter De Schuyter

Wouter De Schuyter

07/12/2009 17:18:00
Quote Anchor link
Kan dit ook niet met file_get_contents()?
Zou dit eventueel niet gemakkelijker zijn?
 
Steen

steen

07/12/2009 18:03:00
Quote Anchor link
Curl is iets van 3x sneller dan file_get_contents();
 
Winston Smith

Winston Smith

07/12/2009 18:26:00
Quote Anchor link
Daarnaast werkt file_get_contents niet altijd (afhankelijk van de instellingen in .htaccess op de server), terwijl cURL het wel altijd doet. :)
 
Steen

steen

10/12/2009 18:50:00
Quote Anchor link
cUrl kan ook zijn uitgezet, dit werkt ook niet altijd dus.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.