jak przesyłać i zezwalać na pobieranie formatów .mobi i .epub

10

Mam na sprzedaż produkty do pobrania.

Utworzyłem niestandardowe pola meta do przechowywania potrzebnych mi plików, dzięki czemu mogę w porządku przesyłać do niestandardowych meta .doc i .pdf ...

Jednak gdy próbuję załadować .mobi i .epub - nie przesyła plików ...

Podejrzewam, że napotkam problemy, gdy spróbuję użyć linku do pobrania, aby również pobrać pliki - ale przejdę przez ten most, gdy do niego dojdę.

Każda pomoc w tym zakresie byłaby fantastyczna.

Michael Stott
źródło

Odpowiedzi:

10

Zakładając, że używasz macierzystego programu do przesyłania multimediów WordPress, możesz użyć upload_mimeshaka filtru, aby dodać lub usunąć dozwolone typy plików, na przykład:

function custom_myme_types($mime_types){

    //Adding avi extension
    $mime_types['avi'] = 'video/avi'; 

    //Removing the pdf extension
    unset($mime_types['pdf']); 

    return $mime_types;
}

add_filter('upload_mimes', 'custom_myme_types', 1, 1);

Możesz zobaczyć, że aby dodać typ pliku, po prostu dodajesz do tablicy z rozszerzeniem pliku jako kluczem, a typ MIME jako wartość, jaką ma typ MIME dla pliku application/x-mobipocket-ebookw formacie .mobi, a dla formatu .epub toapplication/epub+zip

Bainternet
źródło
5
Chciałbym również dodać do odpowiedzi Bainternet, że jeśli na przykład używasz Apache, może nie wiedzieć o rozszerzeniach plików .mobi / .epub i odpowiadających im typach MIME. Jeśli plik nie zostanie znaleziony podczas próby wyświetlenia tego pliku, może być konieczne dodanie typów MIME do serwera. W przypadku Apache możesz to zrobić za pomocą pliku htaccess i dodać coś takiego:AddType application/x-shockwave-flash swf
Scott,
Dzięki, próbowałem dodać powyższy kod do funkcji motywu. Php i zaczyna mówić, że nagłówki są już wysłane. Używam Apache i już poprawiłem swój plik .htaccess.
Michael Stott
Kłamię, wydaje mi się, że już działa. Świetny.
Michael Stott
Cieszę się, że
zadziałało