出于某种原因,使用此代码它输出文件就被称为“.JPG”时。

<?
$title = $GET['title'];
$url = $GET['url'];

$ourFileName = $title.jpg;
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fclose($ourFileHandle);

$ch = curl_init ("http://www.address.com/url=$url");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);

$fp = fopen("images/$ourFileName",'w');
fwrite($fp, $rawdata);
fclose($fp); 

echo ("<img src=images/$ourFileName>");
?>

很肯定它具有与申报$ ourFileName做,任何帮助,将不胜感激。

有帮助吗?

解决方案

看起来这行

$ourFileName = $title.jpg;

$ourFileName = $title . ".jpg";

这应该只要你确信存在$ _GET [“标题”]的数值做

其他提示

您确定$GET['title']是正确的?用于访问GET参数值超全局变量是$_GET,不$GET

尝试此     $ ourFileName = $标题。 “.JPG”;

看起来它应该是以下内容:

$ourFileName = $title.'.jpg';

当然应

$title = $_GET['title'];
$url = $_GET['url'];
$ourFileName = $title.'.jpg';

貌似安全问题的世界里,但!覆写它有权与攻击者的文件选择任何文件的脚本!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top