Hi,
are you pointing to audio files on the same domain or the file are on a different domain that your?
Hi, the files are on the same domain. I’ve also just updated to your latest version, but the problem remains.
Any thoughts pupunzi?
Hi,
Your problem could be generated by some restrictions on your server configuration that doesn’t allow: “fopen”:
allow_url_fopen should be set to 1 in your PHP.ini file.
http://php.net/manual/en/filesystem.configuration.php
Bye,
Matteo
Hi, I checked phpinfo() and allow_url_fopen was already on. Just to make sure, I added the setting to php.ini and still got the same result.
I’m just in the middle of asking my hosting company for ideas.
Is the following relevent?
http://stackoverflow.com/questions/14495074/downloaded-file-save-with-0kb-and-damaged
I’ve spoke to my web host, and while they can’t find anything at their that would be causing this, they drew my attention to the error logs. Any idea of why the following errors are taking place?
[Mon Nov 18 13:43:10 2013] [error] [client 75.145.40.31:33553] AH01315: PHP Warning: curl_setopt(): supplied argument is not a valid File-Handle resource in /[website_path]/plugins/wp-miniaudioplayer/map_download.php on line 113
[Mon Nov 18 13:43:11 2013] [error] [client 75.145.40.31:33553] AH01315: PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /[website_path]/plugins/wp-miniaudioplayer/map_download.php on line 116
[Mon Nov 18 13:45:24 2013] [error] [client 75.145.40.31:59688] AH01315: PHP Warning: fopen(tmp/file.mp3): failed to open stream: No such file or directory in /[website_path]/plugins/wp-miniaudioplayer/map_download.php on line 108
[Mon Nov 18 13:45:24 2013] [error] [client 75.145.40.31:59688] AH01315: PHP Warning: curl_setopt(): supplied argument is not a valid File-Handle resource in /[website_path]/plugins/wp-miniaudioplayer/map_download.php on line 113
[Mon Nov 18 13:45:25 2013] [error] [client 75.145.40.31:59688] AH01315: PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /[website_path]/plugins/wp-miniaudioplayer/map_download.php on line 116
Hi,
I don’t know what this error is but is related to the way the download page streams to serve the audio file. It doesn’t happen in any other installation… so probably there’s something different on your server configuration that is causing this.
Try replacing the last part of the map_download.php with:
if($fp=@fopen($file_url,'rb')){
$fp=@fopen($file_url,'rb');
// send the file content
fpassthru($fp);
// close the file
fclose($fp);
}else{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $file_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
// display file
echo $contents;
}
Thank you. I added your code and the errors have now stopped, but the problem with the MP3s continues.
I’ve reverted my htaccess file to the default and still the same problem.
I’ve also reinstalled the plugin.
The web host for the website is quite a major host in the UK.
This is a strange one, any further help would be really appreciated
How big are your mp3 files?
I’ve no idea at the moment on what could be the problem as it is working fine on all of the installation I did on several servers with different web app configurations…
Can you provide me an URL where I can see the issue so that I could try to understand what is the cause?
Hi, here’s the page in question: http://bit.ly/1fIDnKd
Many thanks, I appreciate it!
I just take a look at your page and everything seems working fine from the client side.
I made a test map_download.php page that instead of streaming the file it just returns some information from the stream process; you can download it from here: https://dl.dropboxusercontent.com/u/1976976/map_download.zip.
Just replace the original map_download.php with this one and see what does it return when the download button is pressed.
It should be something like:
- file_extension:: mp3
- content_type:: audio/mpeg
- file_name:: Miaow-08-Stirring-of-a-fool.mp3
- file_url:: http://www.miaowmusic.com/mp3/Miaow-08-Stirring-of-a-fool.mp3
- file size:: 5449898
- curl exist:: 1
- allow_url_fopen:: 1
If all the fields have a consistent result you could try commenting the “die(…)” line at line 92 and see if that works…
Bye,
Matteo
Hi Matteo, the downloads are still not working, unfortunately. It seems that file size is not being recognised below…?
- file_extension:: mp3
- content_type:: audio/mpeg
- file_name:: this-is-The-Mp3.mp3
- file_url:: http://www.mywebsite.co.uk/correct-Path/this-is-The-Mp3.mp3
- file size::
- curl exist:: 1
- allow_url_fopen:: 1
That sounds really strange…
You can try removing line 106 of the map_download.php:
header('Content-Length: '.$filesize);
where the file size is declared to the header.
and comment the “die()” line.
All the other parameters are returning the right value.