Tutorial
php recopila imágenes remotas y las guarda localmente
2024-03-23 23:27:30
Autor:admin
/**
* Recoge imágenes remotas
* @param string $url dirección de archivo remoto
* @param string $filename El nombre del archivo guardado (si está vacío, es un nombre de archivo generado aleatoriamente; de lo contrario, es el nombre del archivo original)
* @param array $fileType tipos de archivos permitidos
* @param string $dirName La ruta donde se guarda el archivo
* @param int $type Cómo obtener archivos de forma remota
* @return json Devuelve el nombre del archivo y la ruta para guardarlo.
*/
función download_image($url, $fileName = '', $dirName, $fileType = array('jpg', 'gif', 'png'), $type = 1)
{
si ($url == '')
{
devolver falso;
}
// Obtener el nombre del archivo original del archivo
$defaultFileName = nombre base($url);
// Obtener tipo de archivo
$sufijo = substr(strrchr($url, '.'), 1);
if (!in_array($sufijo, $tipo de archivo))
{
devolver falso;
}
//Establece el nombre del archivo después de guardarlo
$nombreDeArchivo = $nombreDeArchivo == '' ? tiempo() . rand(0, 9) . '.' . $sufijo: $nombredearchivopredeterminado;
// Obtener recursos de archivos remotos
si($tipo)
{
$ch = curl_init();
$tiempo de espera = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $tiempo de espera);
$archivo = curl_exec($ch);
curl_close($ch);
}
otra cosa
{
ob_start();
leer archivo($url);
$archivo = ob_get_contents();
ob_end_clean();
}
//Establecer ruta para guardar el archivo
$nombredir = $nombredir;
si (!file_exists($dirName))
{
mkdir($dirName, 0777, verdadero);
}
//guardar archivo
$res = fopen($dirName . '/' . $fileName, 'a');
fwrite($res, $archivo);
fclose($res);
matriz de retorno (
'nombre de archivo' => $nombre de archivo,
'saveDir' => $dirNombre
);
}