无法使用PHP从远程服务器保存图像
好的,。。。这是指: 这是我的密码:无法使用PHP从远程服务器保存图像,php,Php,好的,。。。这是指: 这是我的密码: for ($i = 0; $i < count($json_post['Category']); ++$i ) { echo $json_post['Category'][$i]['CategoryID'] . '<br />'; echo $json_post['Category'][$i]['Name'] . '<br />'; echo $json_post['Category'][$i]['Ima
for ($i = 0; $i < count($json_post['Category']); ++$i )
{
echo $json_post['Category'][$i]['CategoryID'] . '<br />';
echo $json_post['Category'][$i]['Name'] . '<br />';
echo $json_post['Category'][$i]['Image'] . '<br />';
$image_URL = "https://$_SSActiveWear_BaseURL/" . $json_post['Category'][$i]['Image'];
echo $image_URL . "<br /><br />";
copy("https://$_SSActiveWear_BaseURL/$image_URL", $_SERVER['DOCUMENT_ROOT']."/tmp/" . basename($image_URL));
die;
}
for($i=0;$i ;
echo$json_post['Category'][$i]['Name'].
;
echo$json_post['Category'][$i]['Image'].
;
$image\u URL=“https://$\u ssactivewer\u BaseURL/”$json\u post['Category'][$i]['image'];
echo$image_URL.“
”;
复制(“https://$\u SSActiveWear\u BaseURL/$image\u URL”,$\u服务器['DOCUMENT\u ROOT'].”/tmp/“.basename($image\u URL));
死亡
}
我试过卷曲,结果也一样
正在发生的是,正在创建文件,但文件长度都是58k,当我试图打开一个文件查看时,无法打开。事实上,它是我试图从服务器保存图像的索引页面的HTML内容
编辑1
如果我硬编码要保存的图像而不是使用变量,它会保存正确的图像。解决了这个问题
是否进行了以下更改:
copy($image_URL, $_SERVER['DOCUMENT_ROOT']."/tmp/" . basename($image_URL));
我不明白为什么在使用单个变量时(如本例中),它会起作用,而在使用复合语句时则不会起作用。这是因为您的URL被解释错误。始终在字符串中的变量周围使用
{}
:
copy("https://$_SSActiveWear_BaseURL/$image_URL", $_SERVER['DOCUMENT_ROOT']."/tmp/" . basename($image_URL));
转换为copy(“https://SSActiveWear_BaseUrl/_URL“,…)
。如您所见,PHP没有找到变量$\ucode>和$image
,而是为它们应用null
正确语法:
copy("https://{$_SSActiveWear_BaseURL}/{$image_URL}", "{$_SERVER['DOCUMENT_ROOT']}/tmp/".basename($image_URL));
$\u SSActiveWear\u BaseURL
的值是多少?还有,图像的实际路径是什么?哦。。。。泰。。。这就可以解释了。我是一名C#程序员,现在正在学习PHP。