我有以下代码给自己发送图片
$img = file_get_contents("http://www.cpc.ncep.noaa.gov/products/predictions/threats/hazards_d3_7_contours.png");
file_put_contents("hazards_d3_7_contours.png",$img);
$message = $img;
$headers = "From: me";
$headers = "Content-type: image/gif";
$subject = '3-7 Weather Hazard Forecast';
$to = 'me@gmail.com';
mail($to, $subject, $message, $headers);
然而,我得到的图像被打破了
知道为什么吗?
答案 0 :(得分:0)
图片的文件扩展名为.png
,但您将其发送为image/gif
。也许这与它有关?
答案 1 :(得分:0)
即使从远程服务器检索到的图像是image/gif
,您也会发送包含mimetype image/png
的电子邮件。然后,使用from
值覆盖标头。你正在寻找这样的东西:
$headers = [];
$headers[] = 'From: me';
$headers[] = 'Content-type: image/png';
$subject = '3-7 Weather Hazard Forecast';
$to = 'me@gmail.com';
mail($to, $subject, $message, implode(PHP_EOL, $headers));
答案 2 :(得分:-1)
这对我有用:
public function store()
{
$file = file_get_contents($_FILES['myfile']['tmp_name']);
file_put_contents("img/" . $_FILES['myfile']['name'], $file);
return $_FILES['myfile'];
}