GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Criar arquivo, caso exista autorenomear e voltar a criar arquivo php

Tags: #<Tag:0x00007f6d460cf1d8>
  • Objetivo
    criar um novo arquivo a cada request

  • problema
    O código cria um arquivo json , mas não cria um novo arquivo

  • motivo do problema
    não cria um novo arquivo por causa que já existe um arquivo de mesmo nome

  • possivel solução
    programa crie um novo arquvio, se existir faça a auto renomeação com os prefixos: data-horario-usuario.json
    para isso, use a função file_exists

  • outro problema
    não sei usar a função file_exists
    e também não consigo autorenomear esse arquivo nem criar um novo arquivo a cada request

  • objetivo geral
    gostaria de criar um novo arquivo json a cada request, a cada form enviado
    de modo que se tiver um arquivo de mesmo nome, sempre que possivel um novo arquivo é criado ou auto renomeado para algo assim : data-horario-usuario *.json

Algo como : data-10-11-2019-horario-19-29-usuario.json

Cada request pega a data atual e o horario


<!doctype html>
<html lang="pt-br">
  <head>
    <title> - </title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  </head>
  <body>
  <section class="section">
    <div class="container">
      <h1 class="title" style="text-align:center;"><a href="index.php" style="color:black;"> Filme </a></h1>
    </div>
  </section>
 <form action="cad-tst.php" method="POST">
  <div class="container">
  <div class="card">  
     <section class="section">
    <div class="container">
      <div class="field">
       
        <?php   

        $produto = @$_REQUEST['produto']; # produto: String 

        ?>

        <label class="label"> Produto : <?php echo $produto?> </label>
      <div class="control">
      <input class="input" type="text" value="<?php echo $produto ?>" name="produto" placeholder=" Produto : <?php echo $produto ?> " id="title-produto">
    </div>
    </div>
    </div>
  </section>
  <section class="section">
    <div class="container">
      <div class="field">
       
       <?php   
        
        $patrao = @$_REQUEST['patrao']; # patrao: String 

        ?>
        
        <label class="label"> Patrao : <?php echo $patrao ?> </label>
      <div class="control">
      <input class="input" type="text" value="<?php echo $patrao ?>" name="patrao" placeholder=" Patrao : <?php  echo $patrao ?> " id="title-patrao">
    </div>
    </div>
    </div>
  </section> 
  <?php  

$data = date('d/m/Y');
$hora = date('H:i:s');
$caminho = 'db/filme/user/';

$conteudo = array( ' Produto : ' => $produto, ' Patrão : ' => $patrao);
$contido = json_encode($conteudo,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);

// abre o arquivo em modo escrita
$file = fopen($caminho.$data."-".$hora."-".".json",'w');

// escreve o json no arquivo
fwrite($file, $contido);

?>   
    <section class="section">
    <div class="container">
      <div class="field">
      <div class="control">
      <button class="button is-primary" style="width: 100%;" id="select-text"> Enviar Informações </button>
    </div>
    </div>
    </div>
  </section>
    </div>
  </div>  
  </form>
<br> 

</body>
</html>



  <?php  

$data = date('d/m/Y');
$hora = date('H:i:s');
$caminho = 'db/filme/user/';

$conteudo = array( ' Produto : ' => $produto, ' Patrão : ' => $patrao);
$contido = json_encode($conteudo,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);

// abre o arquivo em modo escrita
$file = fopen($caminho.$data."-".$hora.".json",'w');
// 2019-22:58:41.json
// 2019-22:58:42.json
// 2019-22:58:43.json ... 

// escreve o json no arquivo
fwrite($file, $contido);

?>   

Erros:

Warning : fopen(db/filme/user/10/11/2019-22:58:41-.json): failed to open stream: No such file or directory in C:\xampp\htdocs\tst\cad-tst.php on line 64

Warning : fwrite() expects parameter 1 to be resource, bool given in C:\xampp\htdocs\t\cad-stt.stphp on line 67