Solved

PHP will not open MPG file for embed

Posted on 2009-06-28
3
290 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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

Suggested Solutions

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…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

809 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