fopen - fread
7 отговора
233 прегледа
fopen - fread
Imam edna programka, koiato triabva da se download-va prez saita.
Goliama e okolo 700 KB.
Svaliam ia taka:
$file = "setup.exe";
$file_size = filesize("/nesto/si/$file");
$fp = fopen("/nesto/si/$file","rb");
Header("Content-Type: application/x-octet-stream");
Header("Content-Disposition: attachment; filename=$file");
echo fread($fp, $file_size);
obache iavno nesto ne srabotva kakto ochakvam, zastoto exe-to ne tragva. Kazva "Invalid package size". Sastoto tova exe si raboti po princip.
Osven tova kato go svalia s <a href="setup.exe">setup.exe</a> pak si raboti.
Ot druga strana sas gornia skript svaliam drugi exe-ta bez problem.
Molia pomognete! Kade barkam?
Goliama e okolo 700 KB.
Svaliam ia taka:
$file = "setup.exe";
$file_size = filesize("/nesto/si/$file");
$fp = fopen("/nesto/si/$file","rb");
Header("Content-Type: application/x-octet-stream");
Header("Content-Disposition: attachment; filename=$file");
echo fread($fp, $file_size);
obache iavno nesto ne srabotva kakto ochakvam, zastoto exe-to ne tragva. Kazva "Invalid package size". Sastoto tova exe si raboti po princip.
Osven tova kato go svalia s <a href="setup.exe">setup.exe</a> pak si raboti.
Ot druga strana sas gornia skript svaliam drugi exe-ta bez problem.
Molia pomognete! Kade barkam?
Re: fopen - fread
kakva greshka ti dava ?
probvali da dadesh application/binary ili neshto podobno tam ne se seshtam kak se pisheshe tochno ?
puffff
probvali da dadesh application/binary ili neshto podobno tam ne se seshtam kak se pisheshe tochno ?
puffff
Re: fopen - fread
Преди някой изнервен системен администратор да те набие се научи да си проверяваш собствения код.
Къде ти е проверката дали fopen() е успял да отвори файла или е върнал грешка? А?
$fp = fopen($kakvoto_i_da_e) or
{
print"Не се отваря пустия му $kakvoto_i_da_e и това сие";
die();
};
salle.online.bg/sig
Къде ти е проверката дали fopen() е успял да отвори файла или е върнал грешка? А?
$fp = fopen($kakvoto_i_da_e) or
{
print"Не се отваря пустия му $kakvoto_i_da_e и това сие";
die();
};
salle.online.bg/sig
Re: fopen - fread
prav si, razbira se za proverkta, obache ne e tam problema
faila idva i e s 1 byte po-goliam ot originala (koeto mejdu drugoto vaji i za dr. exe-ta, koito probvah i rabotiat)
saobstenieto e "Invalid package size. This pakage has been corrupted."
faila idva i e s 1 byte po-goliam ot originala (koeto mejdu drugoto vaji i za dr. exe-ta, koito probvah i rabotiat)
saobstenieto e "Invalid package size. This pakage has been corrupted."
Eto reshenieto
if (!($fc = fopen($base_path . $path . $file, "rb"))) {
echo "error\n";
exit;
}
$file_size = filesize($base_path . $path . $file);
ob_end_clean(); // Clean the output buffer and turn off output buffering
ignore_user_abort(false); // stop execution of script on 'STOP'
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
// IE cannot download from sessions without a cache
header('Cache-Control: public');
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$file."\"");
header("Content-length: ".(string)($file_size));
if ($description!="") {
header("Content-Description: " . $description);
}
while(!feof($fc)) {
echo fread($fc, 10240);
flush();
}
fclose($fc);
exit;
echo "error\n";
exit;
}
$file_size = filesize($base_path . $path . $file);
ob_end_clean(); // Clean the output buffer and turn off output buffering
ignore_user_abort(false); // stop execution of script on 'STOP'
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
// IE cannot download from sessions without a cache
header('Cache-Control: public');
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$file."\"");
header("Content-length: ".(string)($file_size));
if ($description!="") {
header("Content-Description: " . $description);
}
while(!feof($fc)) {
echo fread($fc, 10240);
flush();
}
fclose($fc);
exit;