windows — PHP: поврежден файл в сети?

Мне нужно прочитать файл (всегда изображение), чтобы загрузить его, но он всегда поврежден.

$path = 'S:\PATH\TO\ART2770.jpg';
$file = 'ART2770.jpg';
$filename = basename($file);
$file_extension = strtolower(substr(strrchr($filename,"."),1));

switch( $file_extension ) {
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpeg"; break;
default:
}

header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');  // Allow support for download resume
header('Content-Length: ' . filesize($path));  // File size
header('Content-Encoding: none');
header('Content-Type: '.$ctype);
header('Content-Disposition: attachment; filename=' . $filename);  // Make the browser display the Save As dialog
readfile($path);
exit;

Что я пробовал:

  1. Это не safe_mode проблема, потому что она уже выключена;
  2. Это не BOM проблема, потому что я уже проверил это;
  3. Это не ?>\n или какой-то пробел в конце кода, потому что я уже проверил это;
  4. РЕДАКТИРОВАТЬ: Это не \n<? или какой-то пробел в begin кода, потому что я уже проверил его;
  5. я Можно отобразить изображение с помощью img HTML-тег без проблем;
  6. У меня есть все разрешения в целевой папке;
  7. S:/PATH/TO/ART2770.jpg, S:\\PATH\\TO\\ART2770.jpg а также file:///S:/PATH/TO/ART2770.jpg также не удается вернуть действительный файл.

я использую Windows 7 64 бит, Версия PHP 5.3.5, Xampp 1.7.4 а также Internet Explorer 11 (Должен работать в IE, не нужно работать в других браузерах).

1

Решение

header('Content-Type: $ctype');

выйдет Content-Type: $ctype

Пытаться header("Content-Type: $ctype"); или же header('Content-Type: '.$ctype);

Также: убедитесь, что до этого нет пробелов <?php

0

Другие решения

Я понял, что правильный путь для ввода сетевого пути \\ PATH \ К \ ART2770.jpg, даже не упоминая сеть S: письмо.

0

По вопросам рекламы [email protected]