0

出于某种原因,使用此代码时,它输出的文件只是称为“.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 有关,任何帮助将不胜感激。

4

5 回答 5

3

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

于 2009-06-28T17:17:27.217 回答
2

试试这个 $ourFileName = $title 。".jpg";

于 2009-06-29T12:18:49.100 回答
1

看起来应该是以下内容:

$ourFileName = $title.'.jpg';
于 2009-06-28T17:14:37.327 回答
1

看起来像这条线

$ourFileName = $title.jpg;

应该

$ourFileName = $title . ".jpg";

只要您确定 $_GET['title']; 中有一个值,就应该这样做。

于 2009-06-28T17:15:19.060 回答
1

肯定应该

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

看起来那里虽然存在安全问题!一个脚本,它用攻击者选择的文件覆盖它有权访问的任何文件!

于 2009-06-28T17:15:56.907 回答