Versio

plaatjes opslaan met php?

Overzicht Reageren

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/05/2012 11:21:55
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
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.
 
Kasper Isgek

Kasper Isgek

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 Kasper Isgek
 
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 DS

Wouter DS

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();
 
Kasper Isgek

Kasper Isgek

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

Get Adobe Flash player