PHP dosyasını indirmek için basit yolu nedir

4 Cevap php

Bazı URL'den benim sunucuya bir görüntü indirmek gerekir. Ancak, benim sunucunun yapılandırma bu şekilde yapmak için bana izin verilmiyor:

getimagesize( $file );

Bu hata oluşturmak, çünkü:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in somefile.php  on line 10

Yani, harici kitaplık gerektirmez kullanabileceğiniz başka bir yolu var mı?

Tamam, ben OIS gelen çözüm ile çözülür:

$filename = '/tmp/'.md5($file);
$ch = curl_init($file);
$fp = fopen($filename, "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

$ext = getimagesize( $filename );

4 Cevap

Sen deneyebilirsiniz curl.

Eğer sunucu yapılandırmasını değiştirmek sürece bu mümkün değil

URL'ler için dosya erişim sunucu üzerinde devre dışı ise, dış URL herhangi bir içerik yükleyemez. O yapılandırma amacı bulunuyor.

Devre dışı değil bir sunucu üzerinde, file_get_contents ($ url) en dosyalarını almak için en kolay yoludur.

Dosyayı indirmek için aşağıdaki kullanın $imgdata. Daha sonra bir dosyaya kaydedin ve görüntü boyutu alabilirsiniz. Muhtemelen hızlı yapmak için iş biraz ile dosya kaydetme adımı kaldırabilirsiniz.

$imgdata = get_file_contents($url);
file_put_contents($filename, $imgdata);
getimagesize( $filename );