Author |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Sun 18 Dec '11 5:05 Post subject: php music player |
|
|
Code: | <?php
// Connects to your Database
mysql_connect("localhost", "root", "masterlock") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
//checks cookies to make sure they are logged in
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
//if the cookie has the wrong password, they are taken to the login page
if ($pass != $info['password'])
{ header("Location: index.php");
}
//otherwise they are shown the admin area
else
{
echo "Admin Area<p>";
echo "Coming soon music search <p>";
if ($handle = opendir('/music/music')){
while (false !== ($file = readdir($handle)))
echo "$file\n";
closedir($handle);
}
echo "<a href=logout.php>Logout</a>";
}
}
}
else
//if the cookie does not exist, they are taken to the login screen
{
header("Location: index.php");
}
?>
|
i want to setup music to play from the web like the ones u click the play button on. the music is located in a folder called /music and its locked so no one can download the file or such so i want the file pulled through the php file and played in that php file. any advice or way to do this? also would like to enable a search by author or name feature if i can or have a player that does. i run google chrome which plays the songs when clicked on im not worried about a embeded player if it wont work with the directory locked but i really would like a embeded one if possible. link to site is music.platinum-browser.tk test test for username and password if u want to see how it is. just after logining in go to /test.php instead of members. this is for personal use just dont want people downloading my music |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Sun 18 Dec '11 10:02 Post subject: |
|
|
well .. someone correct me if I am wrong .. once you give access to the files .. they are fair game for downloading. Unless .. I'm php lame .. but if they were in the DB as I think blobs? .. Mario .. help? |
|
Back to top |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Sun 18 Dec '11 23:27 Post subject: |
|
|
yea sorta since im the only user im not worried of that. how it was the folder /music/music had links and only way to protect it was with htaccess. im trying to move away from that log in to php logins but the only way to do that is to deny all to /music/music and have a login system in /music that will get the music from /music/music if not log in then they cant get it. but im stuck on how to make it were i can play music from the members area |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Mon 19 Dec '11 12:11 Post subject: |
|
|
glsmith wrote: | well .. someone correct me if I am wrong .. once you give access to the files .. they are fair game for downloading. Unless .. I'm php lame .. but if they were in the DB as I think blobs? .. Mario .. help? |
Don't save that into the DB. At leat I am not a fan of blobs in a DB. Makes it large and lame. The file system is much better.
it is possible to have that files outside of the httpd document root. Than access it via PHP and deliver it to the client.
Code: |
<?php
//your login check goes here ...
if($_GET['down']!=""){
$fp = $_GET['down'];
if(@is_readable($fp)){
clearstatcache();
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($fp));
header("Content-Disposition: attachment; filename=\"".@basename($_GET['down'])."\"");
@readfile($fp);
die();
}
else
{
echo 'no file';
}
}
?>
|
Kinda like that. Instead of the force-download header you should use the correct one so the player can play it instead of downloading.
Quote: |
this is for personal use just dont want people downloading my music
|
When ever you stream it or something, ppl will be able to record it. |
|
Back to top |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Fri 23 Dec '11 8:18 Post subject: thank you |
|
|
i cant seem to get that command to work i would love for it to work so where do i enter the folder location for somereason i guess im lost thank you |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Sun 25 Dec '11 17:10 Post subject: |
|
|
ya, in the url you insert the folder name and the file name like
?down=myfile.mp3
of cause you you pre enter the path in the script. that would make it easier. |
|
Back to top |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Wed 28 Dec '11 0:07 Post subject: |
|
|
so how would i have it get all of my songs at once and will this show a list too or just download it and like this right
<?php
//your login check goes here ...
if($_GET['down']!="?down=myfile.mp3"){
$fp = $_GET['down'];
if(@is_readable($fp)){
clearstatcache();
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($fp));
header("Content-Disposition: attachment; filename=\"".@basename($_GET['down'])."\"");
@readfile($fp);
die();
}
else
{
echo 'no file';
}
}
?> |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Wed 28 Dec '11 0:33 Post subject: |
|
|
I thought your already existing list creates that list and you create link in the href to a page with that script and you download it or what ever do with it. You wrote that you wanted a script that pull the mp3 from the folder outside of your document root.
or with that script I gave you, you can put it as source (src) in the embedded player. |
|
Back to top |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Wed 28 Dec '11 2:28 Post subject: |
|
|
my current list is only a name calling it just list all the files like in test no linking or anything. through the readdir |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Wed 28 Dec '11 20:16 Post subject: |
|
|
ok, I try to explain it...
- You generate the list with your readdir stuff
- in the list the are generated links to a page with the embedded player
- in src of the player page there is, let's call it grab script, and delivers the file
part of the list generation... in the loop
Code: |
...
<li><a href="player.php=?file=<?php echo $file; ?>">Song: <?php echo $file; ?></a>
...
|
player.php
Code: |
<EMBED src="james_script.php?file=<?php echo $_GET['file']; ?>" autostart=true loop=false volume=100 hidden=true><NOEMBED><BGSOUND src="file.wav"></NOEMBED>
|
Clear? |
|
Back to top |
|
domino123
Joined: 26 Nov 2011 Posts: 7
|
Posted: Thu 29 Dec '11 2:00 Post subject: |
|
|
yes thank you i believe i understand now |
|
Back to top |
|