Com a função PHP wp_is_writable() você verifica se um diretório tem permissão de escrita, retornando um valor booleano (true
ou false
). O seu uso é bem simples:
<?php
$permissao_escrita = wp_is_writable( $caminho_diretorio );
Code language: PHP (php)
A vantagem de utilizar esta função do WordPress em vez da função is_writable() nativa do PHP, é que ela possui uma verificação especial para resolver alguns problemas de verificação de permissão de arquivos (ACL) que ocorrem principalmente em servidores Windows. Para isso, é adicionalmente chamado a função PHP win_is_writable(), criada pelo WP.
Utilizando a função wp_is_writable() para verificar se há permissão de escrita em um diretório antes de criar um arquivo
Segue abaixo um exemplo que verifica a permissão da pasta antes de criar um arquivo nela, utilizando como base o código que escrevi para a função PHP get_temp_dir():
<?php
$permissao_escrita = wp_is_writable( $caminho_diretorio );
if ( $permissao_escrita ) {
$arquivo = trailingslashit( $caminho_diretorio ) . "painelwp.txt";
$conteudo = "O PainelWP é uma newsletter semanal sobre WordPress.";
$abre_arquivo = fopen( $arquivo, "a" );
if ( $abre_arquivo ) {
$escreve_arquivo = fwrite( $abre_arquivo, $conteudo );
if ( $escreve_arquivo ) {
fclose( $abre_arquivo );
echo "Arquivo criado com sucesso.";
} else {
echo "Arquivo não pode ser criado.";
}
} else {
echo "Arquivo não pode ser aberto.";
}
} else {
echo "A pasta não tem permissão de escrita.";
}
Code language: PHP (php)
Uma curiosidade: a função get_temp_dir() já possui a validação do wp_is_writable().
Deixe um comentário