Размер файла PHP () работы над всеми кроме одного файла, дает отказавшую ошибку статистики

Я пишу страницу PHP, которая генерирует канал подкаста путем очистки существующей страницы HTML. Все работает отлично, но один из моих mp3 файлов дает "размер файла (): статистика привела к сбою" ошибку. Настолько лучше всего, как я могу сказать, файл не повреждается, и он играет превосходный. Я также повторно загрузил файл на сервер. Это падает в среднем диапазоне всех размеров файла, таким образом, я не думаю, что файл является слишком большим. Поскольку любой файл возвращает размер файла, я предполагаю, что проблема с mp3 файлом, не с моей конфигурацией сервера. Есть ли что-то еще, что я должен проверять?

Вот соответствующая часть моего кода:

$i = 1; //skipping header row on table
do {
    $tr = $table->find('tr', $i);

    $date = $tr->find('div', 0)->plaintext;
    $datetime = new DateTime($date);
    $speaker = $tr->find('div', 1)->plaintext;
    $title = $tr->find('div', 2)->plaintext;
    $url = $tr->find('div', 3)->find('a', 0)->href;
    $fullurl = "http://domain.org/resources/".$url;
    $filesize = filesize($url); //<---works on every file except one

    echo "<item><title>".$title."</title>\n";
    echo "<description>".$title." - ".$datetime->format('D, M jS, Y')." - ".$speaker."</description>\n";
    echo "<itunes:author>".$speaker."</itunes:author>\n";
    echo "<enclosure url=\"".$fullurl."\" length=\"".$filesize."\" type=\"audio/mpeg\"/>\n";
    echo "<guid isPermaLink=\"true\">".$fullurl."</guid>\n";
    echo "<pubDate>".$datetime->format('r')."</pubDate>\n";
    echo "<itunes:explicit>clean</itunes:explicit></item>\n\n";

    $i++;
}while ($table->find('tr', $i) != NULL);

Согласно просьбе: (люди указывают на редактирования? Это - мой первый вопрос здесь..)

Именем файла является "12-20-09_AM_Podcast.mp3", который следует соглашению о присвоении имен любого файла, и все файлы имеют полномочия 644. Полный код ошибки

<b>Warning</b>:  filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for audio/12-20-09_AM_Podcast.mp3 in <b>/homepages/1/d106955786/htdocs/victory/resources/podcast1.php</b> on line <b>45</b><br />
6
задан Nicholas Sideras 4 February 2010 в 22:29
поделиться

1 ответ

По какой-то причине веб-сервер на domain.org не возвращает Content-Length поле заголовка, которое вызывает сбой Files () .

Если файл хранится локально, вместо sizes () локальная копия файла. В противном случае вы не сможете решить эту проблему, так как это проблема на веб-сервере domain.org . Вы можете обойти эту проблему, загрузив файл локально и затем отметив Size () , но это значительно замедлит вашу страницу.

Если файл хранится локально, проверьте имя файла или привязку еще раз. Возможно, вы неправильно написали один (или оба), и Apache mod_speling исправляет это за вас.

3
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: