Jump to content
Fórum Script Brasil
  • 0

erro na fopen()


Stenio Ramos

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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. :)

Edited by Stenio Ramos
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...