Znam kako da iskopiram file pomocu cUrl-a, postoji cak i Copy funkcija u samom PHP-u koja to sama radi, to nije problem, ali je problem u sigurnosti.
Naime, ja znam nacin da na osnovu vracenog headera vidim koji je mimetype u pitanju. Recimo, meni trebaju samo slike, nista vise se NE SME preneti.
Znaci, napravio sam stranicu gde korisnik moze da uploaduje sliku i to radi OK, ali bi hteo da napravim da moze i samo da upise putanju ka nekoj slici koja je vec na netu i da je onda sistem sam dovuce i postavi na server.
Sve to u pocetku zvuci prosto. U sustini, na sve strane na netu postoji objasnjenje kako se ovo radi, ali nigde jos nisam video takvu skriptu koja ima i proveru tipa fajla.
Upravo sam probao da na server uploadujem .php fajl ali da ga rename-ujem u .jpg i pustio skriptu da testiram velicinu i tip fajla, i dobio sam odgovor da je u pitanju slika... kako to?
Evo koda funkcije koja proverava velicinu i tip fajla:
<?php
function get_remote_file_info($url){
$uh = curl_init();
curl_setopt($uh, CURLOPT_URL, $url);
curl_setopt($uh, CURLOPT_NOBODY, 1);
curl_setopt($uh, CURLOPT_HEADER, 1);
curl_setopt($uh, CURLOPT_RETURNTRANSFER, 1);
$exe = curl_exec($uh);
$code = curl_getinfo($uh,CURLINFO_HTTP_CODE);
if($code <> 200) return "Error";
$mime_type = curl_getinfo($uh,CURLINFO_CONTENT_TYPE);
$filesize = curl_getinfo($uh,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($uh);
// push out
return array("size"=>$filesize, "mime_type" => $mime_type);
}
Edit: slucajno sam stavio pogresnu verziju funkcije... :)