PHP dosya boyutu () tek bir dosyada ancak tüm işleri, istatistik başarısız hatası veriyor

1 Cevap php

Varolan bir HTML sayfası kazıma tarafından bir podcast yayını üreten bir PHP sayfasını yazıyorum. Her şey harika çalışıyor, ama benim mp3 dosyalardan biri bir "dosya boyutu (): istatistik başarısız oldu" hatası veriyor. En iyi olarak ben söyleyebilirim, dosya bozuk ve mükemmel iyi oynar değildir. Ben de sunucuya dosya reuploaded ettik. Tüm dosya boyutları orta aralıkta düşer, bu yüzden dosya çok büyük olduğunu sanmıyorum. Her dosya bir dosya boyutunu verir Çünkü, benim sunucu yapılandırması ile, sorun mp3 dosyası ile değil varsayarak yaşıyorum. Ben kontrol edilmesi gereken başka bir şey var mı?

İşte benim kod ilgili kısmı:

$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);

Talep gibi: (? Kişi düzenlemeleri işaret yok Bu benim ilk soru burada ..)

Dosya her dosya adlandırma izler "12-20-09_AM_Podcast.mp3" olduğunu ve tüm dosyaların 644. izinlere sahip. Tam hata kodu

<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 />

1 Cevap

Nedense domain.org neden olan, bir Content-Length başlık alanını dönen değil on web-server filesize() başarısız.

Dosya yerel saklanırsa, filesize() the local copy of the file instead. If not, you cannot fix this issue as it is a problem on domain.org 's web sunucusu. Yerel dosya indirme ve ardından filesize() kontrol ederek soruna, ancak bu oranda sayfanızı yavaşlatacaktır.

Dosya yerel olarak depolanan ise, dosya adını veya çapa tekrar kontrol edin. Sen birini (veya her ikisini) yanlış olabilir ve Apache mod_speling sizin için tamir ediyor.