Tutorial
php verzamelt afbeeldingen op afstand en slaat deze lokaal op
23-03-2024 23:27:30
Auteur:admin
/**
* Verzamel foto's op afstand
* @param string $url extern bestandsadres
* @param string $filename De opgeslagen bestandsnaam (indien leeg, is het een willekeurig gegenereerde bestandsnaam, anders is het de originele bestandsnaam)
* @param array $fileType toegestane bestandstypen
* @param string $dirName Het pad waar het bestand is opgeslagen
* @param int $type Bestanden op afstand verkrijgen
* @return json Retourneert de bestandsnaam en het pad voor het opslaan van bestanden
*/
function download_image($url, $fileName = '', $dirName, $fileType = array('jpg', 'gif', 'png'), $type = 1)
{
als ($url == '')
{
retour vals;
}
// Haal de originele bestandsnaam van het bestand op
$defaultFileName = basisnaam($url);
// Bestandstype ophalen
$achtervoegsel = substr(strrchr($url, '.'), 1);
if (!in_array($suffix, $fileType))
{
retour vals;
}
//Stel de bestandsnaam in na het opslaan
$bestandsnaam = $bestandsnaam == '' ? tijd() . rand(0, 9) . '.' . $achtervoegsel: $defaultFileName;
// Ontvang externe bestandsbronnen
als($type)
{
$ch = curl_init();
$time-out = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$bestand = curl_exec($ch);
curl_close($ch);
}
anders
{
ob_start();
leesbestand($url);
$bestand = ob_get_contents();
ob_end_clean();
}
// Stel het pad voor het opslaan van bestanden in
$mapnaam = $mapnaam;
if (!file_exists($dirName))
{
mkdir($dirName, 0777, waar);
}
// bestand opslaan
$res = fopen($dirName . '/' . $fileName, 'a');
fwrite($res, $bestand);
fsluiten($res);
retourarray(
'bestandsnaam' => $bestandsnaam,
'saveDir' => $dirNaam
);
}