PHP .exe файлове

niker

Registered
Значи искам да попитам.
Има ли начин с PHP или някой друг WEB език да се направи така,
че като се цъкне на линк. Директно да тръгва инсталацията,
без да се запаметява файла и да пита "RUN/Save" и т.н.
 
А може ли да ми дадете скрипт с който:
<a href="dsdsdssd.php">Link</a>
Като цъкнеш на този линк и да се запазва файла.

Където "dsdsdssd" Е някакво рандом име от букви да речем.
 
Трябва да направиш php скрипт, който да подава въпросния файл като да казва на браузъра задължително да го изтегли (в смисъл ако иска потребителя).

Виж http://gangelov.net/php-посредник-за-файлове/ там съм си описал всичко.
 
Нищо не разбрах чуек.
некви Етагове глупости объркваници.
Разбрах само че става с header.
Така отиваш във php файла а той те пренасочва към файла за теглене.
Ако може да ми дадеш някакъв примерен код.
Без обяснения.
И малко не разбрах за пътя до файла от къде го взимаме къде го слагаме. и т.н.
Така ще го разбера 1000 пъти по добре.


МЕРСИ :)
 
niker каза:
Нищо не разбрах чуек.
некви Етагове глупости объркваници.
Разбрах само че става с header.
Така отиваш във php файла а той те пренасочва към файла за теглене.
Ако може да ми дадеш някакъв примерен код.
Без обяснения.
И малко не разбрах за пътя до файла от къде го взимаме къде го слагаме. и т.н.
Така ще го разбера 1000 пъти по добре.


МЕРСИ :)

Пътя за файла е накрая в readfile. Ако махнеш частта с етага и свържеш всичко ето ти готов код.
Прочети го още веднъж
 
Ами провери дали работи, и ако работи значи е това! :)

Колкото по-малко код толкова по-добре (закон)! :D
 
Ето ти един тестван и напълно работещ вариант
Код:
<?php
header("Content-Type: text/html; charset=UTF-8"); 

$file = "името на файла"; 

if(file_exists($file)) { 
   header('Content-Description: File Transfer'); 
   header('Content-Type: application/octet-stream'); 
   header('Content-Disposition: attachment; filename='.basename($file)); 
   header('Content-Transfer-Encoding: binary'); 
   header('Expires: 0'); 
   header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
   header('Pragma: public'); 
   header('Content-Length: ' . filesize($file)); 
   ob_clean(); 
   flush(); 
   readfile($file); 
   exit; 
} 
else { 
echo "Файла - $file не съществува!"; 
} 
?>

сваля без проблем .txt .srt .sub ..........
 
heminei каза:
Ами провери дали работи, и ако работи значи е това! :)

Колкото по-малко код толкова по-добре (закон)! :D
На мен ми трябва без да се променя линка отгоре.
А така като влезна във файла той ме препраща на линка.
А не е посредник за файла, а за линкчето горе... :)
 
StormBreaker каза:
Е за exe не ти трябва никакъв скрипт, помислих, че искаш php, html, txt да сваляш директно.

Знам. Идеята ми е да свали файла с линк към php файла

<a href="sdsd.php">ffd</a>

Без да променя локацията.
защото тоя скрипт, който heminei е дал.
Всъщност html кода препраща към php файла, който от
своя страна го препраща към директния линк.
 
Еми

Код:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
// Тук дори можем динамично да определим под какво име ще бъде изтеглен файла.
header('Content-Disposition: attachment; filename=ime_na_faila.pdf' );
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

// Големина на файла в байтове
header("Content-Length: " . filesize($file));
 
ob_clean();
flush();

// Пращаме файла
readfile($file);
 
StormBreaker каза:
Еми

Код:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
// Тук дори можем динамично да определим под какво име ще бъде изтеглен файла.
header('Content-Disposition: attachment; filename=ime_na_faila.pdf' );
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

// Големина на файла в байтове
header("Content-Length: " . filesize($file));
 
ob_clean();
flush();

// Пращаме файла
readfile($file);
Тоя код няма да работи, но аз ще го оправя.
Давам точката на теб, въпреки че всички помогнаха, защото
ти ми помогна най-много.
 

Back
Горе