salah33 a écrit :
Bonjour et merci vzytoi
Ce sont les images que je souhaite mettre dans un dossier.
Te remerciant par avance
voilà, ça devrait maintenant télécharger les images à côté du fichier .php, si tu veux changer l'emplacement de ces images pour les mettre dans un dossier par exemple, il suffit de changer la variable $images_path
bonne journée!
<?php
class Json
{
public $url;
public $images_path;
public function __construct($url, $file_name)
{
$this->url = $url;
$this->file_name = $file_name;
}
private function queryJson(): array
{
set_error_handler (
function($errno, $errstr, $errfile, $errline) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
);
try {
$opts = array(
'http' => array(
'header' => array("Referer: $this->url\r\n")
)
);
$context = stream_context_create($opts);
return json_decode(file_get_contents($this->url, false, $context), true);
} catch(Exception $e) {
return ['feed' => array('entry' => array())];
}
}
private function getImgUrl(): array
{
$json = $this->queryJson();
$img = array();
foreach($json['feed']['entry'] as $lst) {
foreach($lst['gsx$photo1'] as $e) {
array_push($img, $e);
}
}
return $img;
}
public function saveImg()
{
$imgs = $this->getImgUrl();
for($i = 0; $i < sizeof($imgs); $i++) {
file_put_contents($this->images_path."image".($i+1).".jpg", file_get_contents($imgs[$i]));
}
}
}
$inst = new Json('https://coeurdubassin.alwaysdata.net/json/values.json', '/');
$inst->saveImg();
Modifié par vzytoi (04 Apr 2021 - 19:04)