WordPress.org

Support

Support » Plugins and Hacks » [Resolved] Download doesn't work: 0kb .mp3

[Resolved] Download doesn't work: 0kb .mp3

  • Hi, when the download button is clicked on my webpage, the MP3 is downloaded but it only downloads a 0kb which doesn’t play.

    I’ve been trying suggestions in another recent thread about a similar issue, but still can’t get it to work.

    • I’ve tried replacing map_download.php with the one suggested in the other post, but that doesn’t make any difference.
    • The paths to the MP3 files are complete URLs

    It’d be helpful if someone could suggest any other solutions to fix this.

    Many thanks

    http://wordpress.org/plugins/wp-miniaudioplayer/

Viewing 15 replies - 1 through 15 (of 27 total)
  • Plugin Author pupunzi
    Participant

    @pupunzi

    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?

    Plugin Author pupunzi
    Participant

    @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

    Plugin Author pupunzi
    Participant

    @pupunzi

    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

    Plugin Author pupunzi
    Participant

    @pupunzi

    How big are your mp3 files?

    Anywhere from 1-3.5Mb?

    Plugin Author pupunzi
    Participant

    @pupunzi

    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!

    Plugin Author pupunzi
    Participant

    @pupunzi

    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

    BlazenWeb
    Member

    @blazenweb

    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
    Plugin Author pupunzi
    Participant

    @pupunzi

    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.

Viewing 15 replies - 1 through 15 (of 27 total)
  • The topic ‘[Resolved] Download doesn't work: 0kb .mp3’ is closed to new replies.