edemez doğru ad ile dosya kaydetmek için php olsun

4 Cevap php

Nedense, bu kodu o çıkışları dosyayı kullanırken sadece ". Jpg" denir.

<?
$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>");
?>

Bu ilan $ ourFileName ile ilgisi var oldukça emin, herhangi bir yardım mutluluk duyacağız.

4 Cevap

Bu çizgi gibi görünüyor

$ourFileName = $title.jpg;

Olmalı

$ourFileName = $title . ".jpg";

Bu sürece $ _GET ['title'] bir değer olduğundan emin olarak bunu yapmak gerekir;

Eğer $GET['title'] doğru olduğundan emin misin? GET parametre değerlerine erişim için süper küresel değişken $_GET, değil $GET.

Bu şu olmalıdır gibi görünüyor:

$ourFileName = $title.'.jpg';

Elbette olmalı

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

Orada güvenlik sorunları olsa da bir dünya gibi görünüyor! Seçiminde saldırganların bir dosya ile it izinlere sahip herhangi bir dosya üzerine yazar bir script!