Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отдать файл по FTP
 
 автор: elenaki   (11.01.2012 в 11:36)   письмо автору
 
 

использовала и раньше этот код. все нормально отдавалось - независимо от раширения файла открывалось окошко с предложением скачать файл. но что-то сломалось - выдает содержимое в браузер, причем картинки в виде кода. или на сервере какие-то настойки изменились? тест делаю с небольшими файлами, на сервер они закачиваются нормально. надо, чтоб и отдавались.


<? 
function file_download11($filename$folder) {
    
    
// Create base URL
    
$base_root = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' 'http';

    
$base_url $base_root .= '://'$_SERVER['HTTP_HOST'];

    
// $_SERVER['SCRIPT_NAME'] can, in contrast to $_SERVER['PHP_SELF'], not
    // be modified by a visitor.
    
if ($dir trim(dirname($_SERVER['SCRIPT_NAME']), '\,/')) {
      
$base_path "/".$dir;
      
$base_url .= $base_path;
      
$base_path .= '';
    }
    else {
      
$base_path '/';
    }
    
   
$path $_SERVER["DOCUMENT_ROOT"].$base_path.$folder."/".$filename
   
//echo   $path; exit;
if (file_exists($path)) { 

            
header('Content-Description: File Transfer'); 
            
header('Content-Type: application/octet-stream'); 
            
header('Content-Disposition: attachment; filename='.basename($path)); 
            
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($path)); 
            
ob_clean(); 
            
flush(); 
            
readfile($path);
             
            
unlink($path);    
            die; 
            
        } 

}
?>

может, виноват safe_mode? This function returns FALSE for files inaccessible due to safe mode restrictions.

  Ответить  
 
 автор: elenaki   (11.01.2012 в 13:41)   письмо автору
 
   для: elenaki   (11.01.2012 в 11:36)
 

отбой. ошибка была в другом файле

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования