我需要给我的图像一个扩展名,这取决于它们的类型,并为它们创建一个全新的名称。我可以在将文件发送到服务器之前获取扩展名吗?
$_POST['image']
是图像的 URL。$new_name
应该在运行交换机时添加。
$image = $_POST['image'];
$ch = curl_init($image);
curl_setopt($ch, CURLOPT_HEADER, 0);
$imagedata = curl_exec($ch);
list($width, $height, $type) = getimagesize($filename);
switch ($type) {
case 1: ....... //Give the filename a .gif extension and so on for every filetype
}
$fp = fopen('../images/' . $new_name, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_close($ch);
fclose($fp);
!找到答案!(对不起,如果我回答自己的问题是错误的(通过简单地“编辑”问题),如果我错了,请评论如何正确地做;)
我只需要运行 cURL 函数 2 次,但名称不同。第一个只是让我获取有关文件的信息,第二个将其保存为$new_name
$image = $_POST['image'];
$ch = curl_init($image); curl_setopt($ch, CURLOPT_HEADER, 0); $imagedata = curl_exec($ch); $info = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); curl_close($ch);
if($info == "image/jpeg") //运行代码,为图像提供适当的扩展名...
$cf = curl_init($image); $fp = fopen('../images/' . "image.jpg", 'wb'); curl_setopt($cf, CURLOPT_FILE, $fp); curl_exec($cf); curl_close($cf); fclose($fp);