İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

read file sorunu ?

008

0
İyinet Üyesi
Katılım
4 Temmuz 2005
Mesajlar
250
Reaction score
0
selam
read file ile dosya download yapmak ettirmek istiyorum sorun ise su:
dosya adını db den
PHP:
$goobullin = $_POST['fdffffffff'];
 $sonuc = mysql_query("SELECT * FROM `cafe_table` WHERE isim = '$fdffffffff"); 
 $myrow = mysql_fetch_array($sonuc); 
 $dosyaadi = $myrow["dosyaadi"];
 $query = "DELETE FROM cafe_table WHERE isim = ('$fdffffffff')";
 $result = mysql_query($query);
ini_set('session.cache_limiter', '');
header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
// fix for IE catching or PHP bug issue 
header('Pragma: no-cache');
header("Expires: 0"); // set expiration time 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
// browser must download file from server instead of cache 
// force download dialog 
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 
// use the Content-Disposition header to supply a recommended odevadi and 
// force the browser to display the save dialog. 
header("Content-Disposition: attachment; filename=".basename($dosyaadi).";"); 

header("Content-Transfer-Encoding: binary"); 

$root_path = "http://*****.***/"; 

$myfile = $root_path . $dosyaadi; 



readfile("$myfile");

olarak kullanınca zipli dosya text olarak geliyor aşagıdaki gibi

Kod:
PKàPµ,YÉ岺„dosya.docí] Œ\ÕyşïìúıZclö`Œc›ñ²6`l‡õbƒãG±!Ar°gwÆŞa^Ë< ³J#H RdQԍ(y(T‰Z¥.¡(I£Ö©¦¨T)i’6 D$®Rš8¹@v½ıÎÿŸsϹÙ‡¡JR款¹wî=÷<ÿ÷9s÷¥ç¾üù¿Zü …ÒuÔFgG¦Ñdçš|À|é ú ¾vvddD]ºi¥ßªôÚߢÉ¥íD§çı?Ÿ&㘷R+µR+µR+µR+µR+µR+µR+ıûùÚ‡n×~¼òáÕz½Z«Ÿ¦ıïÚ7Wşílí÷wh?öi±O¯ü~µ3KmgQ›¼ÔŽ–‹H~ı üd÷×4êÿG_J²së2` ~½XE²“ëro ÉN.åÿ«xÄZ`p¥¾5©õt¢k€ €ú™à&àıúş0p>7x/'µMşóŠ¼¥¥B ÑϚ䙲 Mž&±¤r{››wÏÏVóÆí&½§çϼe!{Nô;›7åÙ4žg–‘ı/ºfWgxéxÓbJxŠg&R¿JêÿfóÛ^®UŞ^Ô Qû!ÿ÷vfojó´õ'4~ŞÙaê÷|bíÙ€ú':şW9õ{t=o† İ ‚;&<ÿóP¿§eÖDÆßü®PjUïÖ®Ñæ…Âéß“ş İ›ã»-Ã':şaùÿ^—ïåäaöÛ¦ …e·Òá¡ıh=ÙÂál5'!ù½êÒ–ró²:ïÄ—z1[ªun 76>yg˼úOÿ PKàPµ,YÉ岺„ dosyaadi.docPKIó

ancak aşagıdaki kodları çıkarınca normal zip olarak indiriyor

PHP:
$goobullin = $_POST['fdffffffff'];
 $sonuc = mysql_query("SELECT * FROM `cafe_table` WHERE isim = '$fdffffffff"); 
 $myrow = mysql_fetch_array($sonuc); 
 $dosyaadi = $myrow["dosyaadi"];
 $query = "DELETE FROM cafe_table WHERE isim = ('$fdffffffff')";
 $result = mysql_query($query);

Sorum su veritabanından hem veri alıp hemde read file komutunu hatasız nasıl kullanacam ?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
$size = filesize($dosyaadi);

header("Content-Type: application/download"); 
	header("Content-Disposition: attachment; filename=".basename($dosyaadi).";");
	header("Content-Length: $size");
	ignore_user_abort(true); 

	

$root_path = "http://*****.***/";  

$myfile = $root_path . $dosyaadi;  

	$fp = fopen($myfile,"r");

		if ($fp) {

		while (!feof($fp) AND !connection_aborted()) { 
  		echo fread($fp, 334); 
	        	flush(); 
		}
}

Bu yapida dene bakalim
 

008

0
İyinet Üyesi
Katılım
4 Temmuz 2005
Mesajlar
250
Reaction score
0
önerin için teşekkürler. ilğili kodları deneyecegim.
bu arada netteki benzer örnekleri denerken
PHP:
 readfile("$myfile");
başına @
PHP:
@readfile("$myfile");
koyunca düzeldi.
Neden ve nasıl oldu anlamadım ama oldu.
 

008

0
İyinet Üyesi
Katılım
4 Temmuz 2005
Mesajlar
250
Reaction score
0
açıkçası olayı bende anlamadım
belki o sırada sunucuda hata vardı
hosting firması düzeltti yani bende bilmiyom
Su anda çalışan kod:
PHP:
<?php
ini_set('display_errors', 0); 
error_reporting(0); 
 

include("./db.php");
 dbconnect();
$dosyasifreniz = $_POST['dosyasifreniz'];
$sonuc = mysql_query("SELECT * FROM `cafe_table` WHERE isim = '$dosyasifreniz'"); 
$myrow = mysql_fetch_array($sonuc); 
$dosyadi = $myrow["dosyaadi"];
$query = "DELETE FROM cafe_table WHERE isim = ('$dosyasifreniz')";
$result = mysql_query($query);

$dosyadi = "dosyalar/$dosyadi";
ini_set('session.cache_limiter', '');
header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
header('Pragma: no-cache');
header("Expires: 0"); // set expiration time 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 
header("Content-Disposition: attachment; filename=".basename($dosyadi).";"); 

header("Content-Transfer-Encoding: binary"); 

$root_path = "http://*******.info/"; 

$myfile = $root_path . $dosyadi; 



@readfile("$myfile"); 
?>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst