Ben onlara hizmet önce Video isteklerini doğrulamak için bir PHP komut dosyası kullanabilirsiniz. Masaüstünde beklendiği gibi bu komut Safari ve Chrome ile çalışır. Ancak iOS, ben kırık bir oynat düğmesi olsun.
Ben doğrudan erişmek beklendiği gibi çalışır çünkü video düzgün, iPhone / iPad için kodlanmış olduğundan emin değilim.
İlgili PHP kodu:
$file_name = 'test-video.mp4';
$file_size = (string)(filesize($file_name));
header('Content-Type: video/mp4');
header('Content-Length: '.$file_size);
readfile_chunked($file_name);
exit;
(readfile_chunked()
readfile()
benzer, ancak PHP kılavuzu sayfasında yorumlarda bulunan çok büyük dosyalar için:. http://php.net/manual/en/function.readfile.php herhangi bir olay, {[(3 )]} bellek sınırı daha az sadece ~ 5 MB, - ve bu durumda ben aslında normal readfile()
olarak değiştirin ve aynı davranışı üretebilir).
I test-video.mp4
eriştiğinizde alıyorum başlıklar doğrudan vardır:
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:5558749
Content-Type:video/mp4
Date:Sun, 27 Jun 2010 21:02:09 GMT
Etag:"1c04757-54d1dd-489944c5a6400"
Keep-Alive:timeout=10, max=30
Last-Modified:Tue, 22 Jun 2010 01:25:36 GMT
Server:Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635
PHP script başlıkları şunlardır:
Connection:Keep-Alive
Content-Disposition:inline; filename="test-video.mp4"
Content-Length:5558749
Content-Type:video/mp4
Date:Sun, 27 Jun 2010 21:03:32 GMT
Keep-Alive:timeout=10, max=15
Server:Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635
X-Powered-By:PHP/5.2.13
Ben boşuna, hatta doğrudan bir istek bu tam olarak eşleşen, başlıkların birçok farklı permütasyon denedim.
Herkes başarı iOS, PHP ile HTML5 videoyu hizmet etti?
[: I X-SendFile kullanmayı deneyin, ama site çok sınırlı erişimi olan paylaşılan bir bilgisayar üzerinde olduğunu unutmayın.]
EDIT: Ben iOS dosya uzantıları hakkında duyarlı olabilir okuyordu, bu yüzden geri orijinal PHP komut dosyası MP4 istekleri yeniden yazar, bir RewriteRule kurma çalıştı, ama o da yardım etmedi.