Download ?
Üye aldığı ürünü üye panelinden indiricek fakat.
ben sadece o üyenin indirmesini ver her download dediğinde farklı bir dosya ismi ile indirmesini
istiyorum.
yani ordan çektği download url ile indirme işlemi gerçekleştirememsini
sadece button a tıklayınca indirmesini.
hosttaki zip dosyası
dosya/grafik.zip olsa bile
üye indirirken bunu o şekilde o dosyanın orda olduğunu bilmeden
idm vb programlar kullansan bile tespit edemeyeceği şekilde
indirmesini nasıl sağlayabilirim.
sadece fikirlerinize ihtiyacım var.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
yaptım fakat download ediyor doğru dosya boyutu ile
ama indirilen dosyayı açmaya çalışınca bozuk olduğu için açmıyor
file_extens sutununa : rar
file_nm sutununa : gerçek dosya adı - 1
file_wa sutununa : 1.rar
file_md5 : 12312ı312jkj31k23j12j3k12
şeklinde sql e kaydediyorum
ana dosya da 1.rar
herşey normal indiriyor iyi hoş fakat neden bozuk
the arshive is either in unknown hatası veriyor açmaya çalışınca.
db ye md5 kaydediyorsan dizindede md5 li isim ile mi utuyorsun dosyayı
bunu bi denicem teşekkür ederim.
<?php
include_once("config");
session_start();
$url = htmlspecialchars(trim($_GET["url"]));
$name = htmlspecialchars($_GET["435ed7e9f07f740abf511a62c00eef6e"]);
if($_SESSION["ip"] != $_SERVER["REMOTE_ADDR"] && $_SESSION["user_agent"] != $_SERVER["HTTP_USER_AGENT"]){
header('location: ../bunlar/benimYonlendrmelerim');
}
if(trim($url) == ""){
header('location: ../');
}else{
$kontrol = $db->prepare("SELECT * FROM file WHERE file_uploader_id=:uplod AND file_md5=:furl");
$kontrol->execute([":uplod" => $_SESSION["id"] , ":furl" => $url]);
if($kontrol->rowCount()){
foreach($kontrol as $filem);
$fileExtens = $filem['file_extens'];
$fileNm = explode('.',$filem['file_nm'])[0];
$file = $filem['file_wa'];
$name = $fileNm.'.'.$filem['file_extens'];
if(file_exists("../dosyaninGercekYolu/".$file)){
$size = filesize("../dosyaninGercekYolu/".$file);
header('Content-Type: image/tiff,image/png,image/jpeg,application/zip,application/x-7z-compressed,application/vnd.rar,application/x-rar-compressed, application/octet-stream');
header('Content-Length: '.$size);
header('Content-Disposition: attachment; filename='.$name);
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate,post-chechk= 0,pre-check=0');
header('Pragma: public');
readfile("../dosyaninGercekYolu/".$file);
ob_clean();
flush();
exit();
}else{
echo "Böyle Bir Dosya Bulunmuyor";
}
}else{
//header('location: ../');
}
}
?>
ben böyle indirtme yapıyorum kendi sitemde başka bir kullanıcı dosyayi indiremiyor malum dosyayi md5 ile formatladigm ve databasede md5 olarak tutarak kontrol ediyorum ve o dosyayi getirtiyorum ve indiriliyor
Kullandığın dili söylesen daha iyi olurdu.
Ben php olarak düşünüp cevap vereceğim, ilk önce dosyalarını ana dizinin arkasında bir yerde saklamalısın yoksa bütün kullanıcılar tarafından erişilebilir durumda olurlar ve çağırırkende readfile() ile çağırıp dosyanın türünü header olarak atıp attachement yapman gerekiyor otomatik olarak kendisi inecektir zaten.