Ir para conteúdo
Fórum Script Brasil
  • 0

erro na fopen()


Stenio Ramos

Pergunta

fiz esse código:

<?php

$nometema = isset($_GET['nometema']) ? $_GET['nometema'] : "";
$URItema = isset($_GET['URItema']) ? $_GET['URItema'] : "";
$descricao = isset($_GET['descricao']) ? $_GET['descricao'] : "";
$autor = isset($_GET['autor']) ? $_GET['autor'] : "";
$URIautor = isset($_GET['URIautor']) ? $_GET['URIautor'] : "";


$dir = mkdir('C:/xampp/htdocs/wordpress/wp-content/themes/'.$nometema);

if(!file_exists($dir.'/index.php') && !file_exists($dir.'/style.php')){
$arqidx = fopen($dir.'/index.php', "x");
$arqcss = fopen($dir.'/style.php', "x");
$stridx = "";
$strcss = "
//*
Theme Name: $nometema
Theme URI: $URItema
Description: $descricao
Author: $autor
Author URI: $URIautor
*//
";


fwrite($arqidx, $stridx);
fwrite($arqcss, $strcss);


fclose($arqidx);
fclose($arqcss);
echo "<h1>Tema Wordpress criado com sucesso!</h1>";
 } else{

   echo "<h1>Já existem esses arquivo!!!</h1>";
 }
 ?>

mas dá esse erro

Warning
: fopen(1/index.php) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\criartemawp\resultado.php on line 24

Warning
: fopen(1/style.php) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\criartemawp\resultado.php on line 25

Warning
: fwrite() expects parameter 1 to be resource, boolean given in
C:\xampp\htdocs\criartemawp\resultado.php
on line
38

Warning
: fwrite() expects parameter 1 to be resource, boolean given in
C:\xampp\htdocs\criartemawp\resultado.php
on line
39

Warning
: fclose() expects parameter 1 to be resource, boolean given in
C:\xampp\htdocs\criartemawp\resultado.php
on line
42

Warning
: fclose() expects parameter 1 to be resource, boolean given in
C:\xampp\htdocs\criartemawp\resultado.php
on line
43

Eu não entendo, se o arquivo não existe, ele cria, não é?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O '$dir' não é o caminho para o diretório criado, e sim a resposta (booleano) para o comando mkdir. No seu caso, como teve sucesso na criação, o resultado foi 1.

Por isso que o fopen tenta abrir '1/index.php', e como o diretório '1' não existe, ele dá erro.

O correto é definir o caminho de outra forma. Coloque o caminho absoluto ou crie uma variável com o caminho e aí use essa variável dentro do mkdir e do fopen.

Link para o comentário
Compartilhar em outros sites

  • 0

deu certo agora, vlw. não sabia que o valor de retorno de mkdir era booleano

e ainda errei em outra coisa que não tem a ver com o problema: era para ser style.css, e coloquei style.php. Fui ver no painel do wordpress e lá dizia que não tinha folha de estilo no tema criado, :lol: , mas agora ta resolvido. Vlw mesmo. :)

Editado por Stenio Ramos
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...