showkey
Versión de WordPress: 4.7.9.
define('ALLOW_UNFILTERED_UPLOADS', true);
La declaración fue escrita en wp-includes/functions.php
.
Edite un archivo simple llamado test
que no contienen ninguna extensión.
vim test
to upload the file which contain no file extension.
Obtener el error al cargar el archivo test
.
This file type is not allowed. Please try another.
Cambiar el nombre del archivo test
dentro test.txt
.
Y agregue lo siguiente en wp-includes/functions.php
.
add_filter('upload_mimes','custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {
$existing_mimes['txt'] = 'application/txt';
return $existing_mimes;
}
El archivo test.txt
se puede cargar correctamente.
No sirve de nada establecer en el archivo de configuración wp-config.php
.
define('ALLOW_UNFILTERED_UPLOADS', true);
Estoy usando a un niño de veinticuatro años.
Aquí está mi /var/www/html//wp-content/themes/twentyfourteen-child/functions.php
<?php
define('ALLOW_UNFILTERED_UPLOADS', true);
function my_theme_enqueue_styles() {
$parent_style="twentyfourteen-style"; // This is 'twentyfourteen-style' for the Twenty Fourteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
?>
No puede tener ningún efecto.
mentón leung
El verdadero problema no está en el backend de WordPress, sino en la validación del frontend. El cargador es manejado por Subir y de forma predeterminada, WordPress solo comprueba si ha definido ALLOW_UNFILTERED_UPLOADS
en el progreso de carga, sin ajustar realmente la validación del filtro del complemento de interfaz con el valor. Tal vez una pequeña falla en la interfaz.
Como puede ver, WordPress siempre muestra la siguiente configuración predeterminada:
var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"268435456b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,ico,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,htm,html,vtt,dfxp,mp3,m4a,m4b,ra,ram,wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,js,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages"}]},"multipart_params":{"action":"upload-attachment","_wpnonce":"9ee7fbf228"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false};
Una solución temporal al problema antes de que lo arreglen por su parte sería conectar los filtros que WordPress está llamando para generar la configuración de la interfaz, plupload_default_settings
.
Agrega el filtro en tu functions.php
:
add_filter('plupload_default_settings', function ($settings) {
if (defined('ALLOW_UNFILTERED_UPLOADS') && ALLOW_UNFILTERED_UPLOADS) {
unset($settings['filters']['mime_types']);
}
return $settings;
});
Esto le permitirá cargar su test
a través del cargador. Dado que WordPress ya está comprobando en el backend, siempre que lo haya definido en su wp-config.php
que ALLOW_UNFILTERED_UPLOADS
es true
debe cargarse correctamente.
-
Gran respuesta +1, me tomé la libertad de arreglar una pequeña falla en tu código, había un paréntesis extra
– brasofilo
12/03/2018 a las 22:32
-
@brasofilo Gracias, escribí a medida que entro, así que no me di cuenta jaja: p
– Chin Leung
12/03/2018 a las 22:34
Asegúrese de que no haya un complemento de seguridad u otro complemento que anule su define('ALLOW_UNFILTERED_UPLOADS', true);
🙂
Sugeriría primero buscar ALLOW_UNFILTERED_UPLOADS
a través de los archivos de su sitio y ver qué aparece.
También actualice a la última versión de WordPress si aún no lo ha hecho, ya que el mensaje de error que recibe es diferente al que recibo.
Brett
No desea pegar esto en su archivo /functions.php sino en su archivo /wp-config.php.
Alternativamente, puede crear MIME para tipos de archivos específicos pegándolos en su archivo /functions.php, como lo ha hecho.
-
No sirve de nada establecer en el archivo de configuración wp-config.php.
– showkey
4 de marzo de 2018 a las 7:00
-
Lo siento me refiero
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
debe estar en la parte inferior de wp-config.php… Por interés, ¿cómo tiene un archivo que no contiene un tipo de archivo?– Brett
5 de marzo de 2018 a las 10:37
-
No es necesario que un archivo contenga un tipo de archivo. No sirve de nada ponerlo al principio de wp-config.php o al final. Pruébelo en su wordpress.
– showkey
5 de marzo de 2018 a las 23:00
La respuesta de Chin Leung funciona bastante bien, la única advertencia es que se puede cargar cualquier extensión de archivo.
El siguiente método necesita ALLOW_UNFILTERED_UPLOADS
configurado en falso (o simplemente no configurado en wp-config o functions.php) y permite el archivo sin extensiones y bloquea las extensiones no permitidas:
add_filter('upload_mimes', function ( $mimes ) {
$mimes['*'] = 'text/plain';
return $mimes;
});
add_filter( 'wp_check_filetype_and_ext', function ( $types, $file, $filename, $mimes) {
# If filename doesn't containg a dot '.', allow upload
if( false === strpos( $filename, '.' ) ) {
$types['ext'] = '*';
$types['type'] = 'text/plain';
}
return $types;
}, 10, 4 );
Agregue el siguiente código al principio de su wp-config.php
expediente:
define('ALLOW_UNFILTERED_UPLOADS', true);
Nota: Para cargar un nuevo archivo en los medios, vaya a la siguiente URL:
http://example.com/wp-admin/media-new.php
En vez de:
http://example.com/wp-admin/upload.php
Porque en upload.php
Javascript realiza la validación del tipo mime.
Entonces, ¿quieres usar las funciones de carga/validación de wordpress? o su objetivo es simplemente cargar el archivo?
– Samvel Aleqsanian
6 de marzo de 2018 a las 15:12
¿Cuál es la pregunta?
– revo
08/03/2018 a las 22:45
No puedo cargar un archivo que no contenga extensión, ¿cómo cargar un archivo que no contenga extensión?
– showkey
9 de marzo de 2018 a las 2:18
donde estas subiendo el archivo
– Tarun Lalwani
12 de marzo de 2018 a las 18:17
WordPress no muestra un error como “Este tipo de archivo no está permitido”, busqué esta cadena exactamente, no se encontró nada, ¿está cargando a través de su biblioteca de medios? ¿Tal vez es un mensaje de error emitido por su servidor? Pero no puedo asegurarlo, pero al menos no pude encontrar esa cadena, eso es seguro (última versión de WP).
-Rens Tillmann
12/03/2018 a las 19:27