¿Crear directorio en las subidas - wp_mkdir_p () o WP_Filesystem?

9

No creo que haya tenido la necesidad práctica de crear carpetas / archivos en WP antes, pero para un complemento necesito la carpeta de caché (para imágenes redimensionadas) en wp-content/uploads .

Lo que plantea la pregunta: ¿realmente necesito pasar por todo el proceso con Filesystem API (incluido el envío de FTP) credenciales cuando sea necesario), o wp_mkdir_p() es lo suficientemente bueno para esto?

    
pregunta Rarst 19.05.2011 - 11:21

3 respuestas

7

wp-content/uploads/ debería poder escribirse en el servidor (de lo contrario, sería imposible cargar un archivo, ¿no?). Si va a crear algo en este directorio, es seguro usar wp_mkdir_p() .

Solo usaría WP_Filesystem si existe la posibilidad de que el servidor no tenga permisos para escribir en la ubicación, como en wp-content/plugins/ , que no tiene que ser de escritura para el servidor (al menos creo que no es así) no tiene que ser?).

Sidenote: La página de permisos de archivos del Códice también habla de un directorio wp-content/cache/ . ¿Sería esta una ubicación "más estándar" para los archivos de caché?

    
respondido por el Jan Fabry 19.05.2011 - 17:34
6

Probaría algo simple, antes de jugar con un mar infinito de posibilidades / configuraciones de alojamiento:

$target = 'wherever';
wp_mkdir_p( $target );

if ( wp_mkdir_p( $target ) === TRUE )
{
    echo "Folder $target successfully created";
}
else
{
    new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
    // or if you're kool, you use _doing_it_wrong(); ... ;-)
}
    
respondido por el kaiser 19.05.2011 - 17:02
4

Solo un aviso para que su complemento cree archivos / carpetas: mi complemento también hizo eso, y tuve varios problemas con los permisos de archivos para diferentes usuarios. Algunas son ventanas, otras son unix, otras están alojadas y otras son locales. Fue mi correo electrónico de soporte # 1 una vez que compartí el complemento.

He reformulado mi código para minimizar la necesidad de tocar los sistemas de archivos y el directorio de carga es el ÚNICO que uso ahora para evitar tales problemas.

    
respondido por el user6479 24.06.2011 - 17:33

Lea otras preguntas en las etiquetas