Door
Louis Deconinck
op 30-04-2017 18:50
gewijzigd op 30-04-2017 18:51
4.717 views
Ik ben bezig aan volgende website http://crasharenaturbostars.com/designs/ Het is de bedoeling dat mensen een screenshot uploaden en dat deze dan vervolgens weergegeven wordt.
Gezien ik niet zoveel bandbreedte heb op mijn hosting wil ik voor de hosting van de screenshots een externe hoster gebruiken. Hiervoor gebruik ik uploads.im ()
Hoe kan ik de afbeeldignsurl uit deze json halen (zodat ik hem in mijn mysql database kan stoppen) en hoe zorg ik er voor dat de bezoeker de json niet te zien krijgt?
Die aanroep moet je in je PHP-script verwerken, en bijv. met [php]file_get_contents[/php] aanroepen. Ik denk zelf dat je de afbeelding tijdelijk even moet cachen op je eigen server, zodat de externe partij het zelf over kan nemen.
Deze uitput haal je door [php]json_decode[/php]. Dan heb je in img_url de URL van je afbeelding die je in je MySQL-database kan verwerken.
Heb je al de output al eens door [php]json_decode[/php] gehaald? Dan heb je in img_url de URL van je afbeelding die je in je MySQL-database kan verwerken.
Dat had ik inderdaad al door. Alleen, hoe doe ik dat en hoe voorkom ik dat de bezoeker de JSON ook te zien krijgt bij het uploaden van een afbeelding?
Door die URL onder-water aan te roepen. Zie mijn edit.
De gebruiker heeft niks aan die JSON-informatie, en vooral niet omdat er een delete-key wordt meegestuurd.
Die aanroep moet je in je PHP-script verwerken, en bijv. met [php]file_get_contents[/php] aanroepen. Ik denk zelf dat je de afbeelding tijdelijk even moet cachen op je eigen server, zodat de externe partij het zelf over kan nemen.
Dank je wel voor de respons. Hoe doe ik dat die afbeelding cachen?
[size=xsmall]Toevoeging op 30/04/2017 19:05:38:[/size]
- Ariën - op 30/04/2017 19:04:25
Door die URL onder-water aan te roepen. Zie mijn edit.
Het probleem is dat de url niet werkt als er niets wordt geupload
Eerst lijkt het mij logisch dat je de afbeelding zelf tijdelijk gaat opslaan. En dan doe je onder-water een POST-request naar upload.im.
Zoiets zal het dan wel worden (ongetest!):
[code]
<?php
$url = 'http://uploads.im/api?upload&resize_width=350';
$data = array('iets' => 'dit', 'nogwat' => 'dat'); // check de API-documentatie over welke data er gevraagd wordt.
Je moet inderdaad de URL van je foto gebruiken, maar het is netter om de URL netjes op te bouwen met [php]http_build_query[/php].
<?php
$url = 'http://uploads.im/api';
$data = array('upload' => $file_path, 'resize_width' => '350');
/* hier de rest */
?>
$file_path moet je zelf even vullen met de locatie waar je jouw bestand na uploaden tijdelijk hebt opgeslagen op je server.
Dank je wel, ik denk dat het zal lukken :)
Alleen, hoe doe ik dat tijdelijk opslaan van die afbeelding? Ik kan een afbeelding wel uploaden maar hoe verwijder ik die dan ook weer? Op die link die je me stuurde vind ik niet zo veel relevante info ...