Como utilizar wp_is_writable() no WordPress1 min leitura

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().



Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Descubra mais sobre Daniel Kossmann

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading