Solved

PHP will not open MPG file for embed

Posted on 2009-06-28
3
293 Views
Last Modified: 2013-12-13
I have files stored outside of the document root for obvious security reasons. I am trying to add an element where I can view the videos in my folder. But when I try to fopen() the .mpg file it will not play the video. I have tried just putting the straight video in there but it will not be in the document root once its live, and also, I want a PHP file to read the file for also security purposes.

Below is my code:

Thanks.
Video Player Page:
----------------------------------------------------------
Video:<br />
<embed src="video/index.php?id=2" width="320" height="250" CONTROLLER="true" LOOP="false" AUTOPLAY="false" name="Random Video"></embed>
 
 
PHP Page:
<?php
header("Content-Type: video/mpeg");
		header("Content-Transfer-Encoding: binary");
		$fp=fopen("../../../videos/userid/Linking Park - In the End - Music Video.mpg", "r");
		if ($fp)
		fpassthru($fp);
?>

Open in new window

0
Comment
Question by:qrpike
3 Comments
 
LVL 4

Accepted Solution

by:
tokyoahead earned 400 total points
ID: 24733574
1. does it work if you put the video inside public_html?

No? Try to fix the video page first.
Yes? Step 2.

2. Does your php code actually access & read the file? is the path correct etc?

No? check the path and spelling.
Yes? Step 3.

3. Are you sure you are using the correct code to passthe file to the website and the correct headers?
I am not familiar with the required headers. Filesize might be necessary and others. If you call the php page yourself with the browser, does it offer the mpg file for download?




0
 
LVL 14

Assisted Solution

by:profya
profya earned 100 total points
ID: 24736548
In your php.ini make sure that open_basedir is not enabled.
0
 

Author Comment

by:qrpike
ID: 24736562
I fixed it.

I had to include every header I could think of, about 9-10 in all.

Thanks guys.
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose. It turns out that Yaho…
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question