【问题标题】:cant get php to save filename with correct name无法让 php 以正确的名称保存文件名
【发布时间】:2009-06-28 17:11:03
【问题描述】:

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

【问题讨论】:

    标签: php curl fopen


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        看起来像这条线

        $ourFileName = $title.jpg;
        

        应该是

        $ourFileName = $title . ".jpg";
        

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

        【讨论】:

          【解决方案4】:

          看起来应该是这样的:

          $ourFileName = $title.'.jpg';
          

          【讨论】:

            【解决方案5】:

            应该是

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

            但那里看起来像一个充满安全问题的世界!用攻击者选择的文件覆盖它有权访问的任何文件的脚本!

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-04-17
              • 2011-10-21
              • 2014-07-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多