Como posso gravar um input HTML DateTime-Local no banco de dados com o Campo do tipo DateTime?

No projeto que estou desenvolvendo em PHP necessito de um em um formulário de cadastro. Eu queria saber como eu posso fazer para salvar este dado no banco, tentei utilizar o tipo DateTime no MYSQL, mas este tipo conta com o layout de horas:minutos:segundos já o utiliza o tipo horas:minutos. Se alguém conseguir esclarecer, agradeço e muito. Eu realmente preciso que o banco tenha um dado com a data e o dia juntos, e não separados, como seria o correto a se fazer.

Gravar dados no arquivo dando UP na última postagem

Pessoal tenho esse código, ele grava os dados captados do formulário em uma página HTML, porem se eu envio um post e depois envio outro, o post mais recente fica sempre em baixo, mas eu quero que ele fique em cima (como acontece em um blog).

Como resolve isso?

Desde já agradeço a ajuda.

<?php $  file = 'abc.html'; // Open the file to get existing content $  current = file_get_contents($  file); // Append a new person to the file $  current .= $  _POST ["top"]; $  current .= '<br>'; $  current .= $  _POST ["texto"]; $  current .= '<br>'; $  current .= '<img alt="" src="images/'; $  current .= $  _FILES ['imagem'][name]; $  current .= '">'; $  current .= '<br>'; $  current .= $  _POST ["rodape"]; $  current .= '<br><br>'; // Write the contents back to the file file_put_contents($  file, $  current); ?> 
<form class="form-horizontal" method="POST" action="envia.php" enctype="multipart/form-data">  		      <body style="color: rgb(0, 0, 0); background-color: transparent;" alink="#000099" link="#000099" vlink="#990099"> <video autoplay="" loop="" poster="URL-FUNDO" class="bg_video"> <source src="video/bg.webm" type="video/webm"> <source src="video/bg.mp4" type="video/mp4"> </source> </source></video> <div class="cabecalho"> <a id='inicio'></a>   <table  style="width: 100%; height: 100%; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellpadding="0" cellspacing="0">   <tbody>     <tr>       <td style="height: 100px; text-align: center;"><p>           </p>  <p>         <span style="font-family: Arial, Helvetica, sans-serif; color: rgb(51, 51, 51); font-weight: bold;">Top:</span></big><br />     <textarea required="required" name="top" id="top" cols="40" rows="7" style="font-family: Arial; font-size: 16px"></textarea> </p>      <p>         <span style="font-family: Arial, Helvetica, sans-serif; color: rgb(51, 51, 51); font-weight: bold;">Texto:</span></big><br />         <input type="text" required="required" size="40" name="texto" style="font-family: Arial; font-size: 16px">     </p>          <p>         <input type="file" name="imagem" id="imagem" multiple>              </p> <p>  <p>         <span style="font-family: Arial, Helvetica, sans-serif; color: rgb(51, 51, 51); font-weight: bold;">Rodapé:</span></big><br />     <textarea required="required" name="rodape" id="rodape" cols="40" rows="7" style="font-family: Arial; font-size: 16px"></textarea> </p>   <p>           <button type="image" name="gravar" value="Gravar" id="gravar"><img style="width: 130px; height: auto;" src="../img/enviar.png"></button>

Gravar upload de arquivo no arquivo txt

Tenho esse código que grava as informações do formulário num arquivo TXT. Porem não consigo enviar upload (uma imagem por exemplo).

Como posso fazer isso?

Código:

<?php 

$ file = ‘apeople.txt’;

// Open the file to get existing content $ current = file_get_contents($ file);

// Append a new person to the file $ current .= $ _POST [“top”]; $ current .= “\n”; $ current .= $ _POST [“texto”]; $ current .= “\n”; $ current .= $ _FILES [‘arquivo’]; $ current .= “\n”; $ current .= $ _POST [“rodape”]; $ current .= “\n”;

// Write the contents back to the file file_put_contents($ file, $ current);

?>

testar dados antes de gravar no banco

Dúvida de php com mysql: Tenho uma rotina em php que está funcionando, gravando os dados numa tabela. Agora surgiu a necessidade de fazer dois testes antes da gravação, e eu não estou conseguindo ter idéia de como fazer, por isso vou postar no próprio código pra ver se entendem. O primeiro teste, é ver se o número escolhido, já foi selecionado (variável numero), e caso isso ocorra, não gravar. O outro teste é impedir que o mesmo usuário (usuário apostador)faça mais de uma aposta. Segue código:

// validação (bem simples, só pra evitar dados vazios) if (empty($ data_hora) || empty($ apostador) || empty($ telefone) || empty($ numero)) { echo “Volte e preencha todos os campos”; exit; } $ hoje = date(“d-m-Y H:i”); $ limite = (’08-03-2019 16:35′); if (strtotime($ hoje) >= strtotime($ limite)){ echo “Esgotado o horario limite. Aguarde para o próximo sorteio!”; exit; }

// a data vem no formato dd/mm/YYYY // então precisamos converter para YYYY-mm-dd

// insere no banco $ PDO = db_connect();

// Acredito que esse teste deva ser feito aqui, antes de gravar, mas é só um palpite, pois tô mais perdido do que padre (alguns) em boate

//verificar se apostador e numero já existem na tabela, e caso exista, retornar o fluxo

$ sql = “INSERT INTO palpites(data_hora, apostador, telefone, numero) VALUES(:data_hora, :apostador, :telefone, :numero)”; $ stmt = $ PDO->prepare($ sql); $ stmt->bindParam(‘:data_hora’, $ data_hora); $ stmt->bindParam(‘:apostador’, $ apostador); $ stmt->bindParam(‘:telefone’, $ telefone); $ stmt->bindParam(‘:numero’, $ numero);

if ($ stmt->execute()) { header(‘Location: index.php’); } else { echo “Erro ao cadastrar”; print_r($ stmt->errorInfo());

Upload de multiplas imagens para um produto e gravar referencia delas no banco de dados Mysql

Eu estou recebendo esse objeto como retorno do meu metodo onde faço o upload dos arquivos com PHP (Não sei se esta certo mas imagino ser assim) Recebe um Array com as características do produto, dentro tem outro array com o nome das fotos dos produtos, com o nome ali de “desphoto”.

object(Dan180\Model\Product)#120 (1) { ["values":"Dan180\Model":private]=>  array(8) { ["desproduct"]=> string(1) "1"  ["vlprice"]=> string(1) "1"  ["vlwidth"]=> string(1) "1"  ["vlheight"]=> string(1) "1"  ["vllength"]=> string(1) "1"  ["vlweight"]=> string(1) "1"  ["desurl"]=> string(1) "1"  ["desphoto"]=> array(2) { [0]=> string(32) "cea25727ac2b097c343702290811f74e"  [1]=> string(32) "d105b2143a5350d2bbb16d7a9b1a2975" }  }  }

A parte que não estou conseguindo fazer é salvar isso no banco de dados, a ideia era salvar em uma Tabela Produtos as características exceto a desphoto que iria para outra tabela chamada Imagens ligada por uma chave estrangeira.

no começo eu estava enviando assim:

public function save() { 		$  sql = new Sql();   	 		$  results = $  sql->select("CALL sp_products_save(:idproduct, :desproduct, :vlprice, :vlwidth, :vlheight, :vllength, :vlweight, :desurl, :urlphoto1, :urlphoto2, :urlphoto3,:urlphoto4,:urlphoto5)", array( 			":idproduct"=>$  this->getidproduct(),			 			":desproduct"=>$  this->getdesproduct(), 			":vlprice"=>$  this->getvlprice(), 			":vlwidth"=>$  this->getvlwidth(), 			":vlheight"=>$  this->getvlheight(), 			":vllength"=>$  this->getvllength(), 			":vlweight"=>$  this->getvlweight(), 			":desurl"=>$  this->getdesurl(),        			":urlphoto1"=>$  this->geturlphoto1(), 			":urlphoto2"=>$  this->geturlphoto2(), 			":urlphoto3"=>$  this->geturlphoto3(), 			":urlphoto4"=>$  this->geturlphoto4(), 			":urlphoto5"=>$  this->geturlphoto5(),			 		)); 				 		$  this->setData($  results[0]);	 	}

utilizando essa procedure no banco para gravar cada um em sua tabela.

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_products_save`( pidproduct int(11), pdesproduct varchar(64), pvlprice decimal(10,2), pvlwidth decimal(10,2), pvlheight decimal(10,2), pvllength decimal(10,2), pvlweight decimal(10,2), pdesurl varchar(128), purlphoto1 varchar(128), purlphoto2 varchar(128), purlphoto3 varchar(128), purlphoto4 varchar(128), purlphoto5 varchar(128) ) BEGIN 	DECLARE vidphoto INT; 	IF pidproduct > 0 THEN 		 		UPDATE tb_products         SET  			desproduct = pdesproduct,             vlprice = pvlprice,             vlwidth = pvlwidth,             vlheight = pvlheight,             vllength = pvllength,             vlweight = pvlweight,             desurl = pdesurl         WHERE idproduct = pidproduct;              ELSE            INSERT INTO tb_photoproducts (urlphoto1, urlphoto2, urlphoto3, urlphoto4, urlphoto5) 		VALUES(purlphoto1, purlphoto2, purlphoto3, purlphoto4, purlphoto5);                    SET vidphoto = LAST_INSERT_ID(); 		 		INSERT INTO tb_products (idphoto, desproduct, vlprice, vlwidth, vlheight, vllength, vlweight, desurl)          VALUES(vidphoto, pdesproduct, pvlprice, pvlwidth, pvlheight, pvllength, pvlweight, pdesurl);                            END IF;          SELECT * FROM tb_products a INNER JOIN tb_photoproducts b USING (idphoto) WHERE a.idphoto = LAST_INSERT_ID();        END

Mas eu nao sei quantas fotos vai ter no meu produto, e ali obriga a ter 5 valores para enviar. Os nomes estão diferentes nas variaveis urlphoto e desphoto é pq essa parte eu realmente nao estou conseguindo, estava tentando outras maneiras e acabou ficando assim. Mas se alguem tiver uma dica de como faz isso que estrutura devo fazer ou como fazer.

Ler conteúdo de arquivo ZIP sem gravar no disco

No programa que estou escrevendo faço o download de um arquivo ZIP pela internet e preciso então fazer upload dos arquivos extraídos do ZIP para outro lugar.

Acontece que não consigo encontrar um modo de ler o conteúdo desse arquivo ZIP – agora um Stream – sem antes criar um FileStream e gravá-lo no disco. Eu preferiria mil vezes trabalhar tudo em memória. Hoje faço assim (com system.IO):

        string zipLocation = Directory.GetCurrentDirectory() + "\teste.zip";          //faz o download e grava no disco         using (GetObjectResponse response = await S3Client.GetObjectAsync(req))         using (Stream responseStream = response.ResponseStream)         using (FileStream fileStream = File.Create(zipLocation))         {             responseStream.CopyTo(fileStream);             fileStream.Seek(0, SeekOrigin.Begin);         }          try         {             //abre o arquivo ZIP que está no disco             using (FileStream file = File.OpenRead(zipLocation))             using (var zip = new ZipArchive(file, ZipArchiveMode.Read))             {                 //loop pelos arquivos dentro do ZIP                 foreach (ZipArchiveEntry entry in zip.Entries)                 {                     //faz o upload                 }             }         } 

Gravar sessão com javascript usando cookie e um botão

Olá, montei um banner, onde eu preciso que quando o usuário entrar no site e clicar no botão GOT IT ele desapareça e quando o usuário entrar novamente no site ou carregar outro link não apareça mais. Desaparecer eu consegui, mas gravar o usuário com cookie não, achei um exemplo(abaixo) mas não entendi a implementação!!!

OBS: Lembrando que nunca expira

COOKIE

// Create a cookie $  .cookie('the_cookie', 'the_value');  // Create expiring cookie, 7 days from then: $  .cookie('the_cookie', 'the_value', { expires: 7 });  // Read a cookie $  .cookie('the_cookie'); // => 'the_value' $  .cookie('not_existing'); // => null  // EDIT // Attaching to a button click (jQuery 1.7+) and set cookie $  ("#idOfYourButton").on("click", function () { $  .cookie('the_cookie', 'the_value', { expires: 7 });  });  // Attaching to a button click (jQuery < 1.7) and set cookie $  ("#idOfYourButton").click(function () {     $  .cookie('the_cookie', 'the_value', { expires: 7 }); }); 

HTML

<div class="gotit">     <div>         <p>We use cookies in order to improve your browsing experience on sugarcane.org, not to collect personal information. By continuing to use the site, you agree that it is OK. <a href="https://sugarcane.org/privacy-policy">Read about our privacy policy.</a></p>         <a href="#" title="GOT IT">GOT IT</a>     </div> </div> 

JAVASCRIPT

<script> $  (document).ready(function(){   $  (".gotit A").click(function(){     $  (".gotit").fadeToggle("slow");   }); }); </script> 

Ler e gravar em arquivo binario e texto ao mesmo tempo

Peguei esse codigo da internet e gostaria de fazer ele ler e gravar em arquivo binario e texto, ao mesmo tempo. Eu tentei desse jeito mas apenas salva no arquivo binario.

include

include

typedef struct { char nome[100]; int idade; } Pessoa;

FILE *f; FILE *f2;

int main() { Pessoa p;

printf("Digite seu nome: "); fflush(stdin); gets(p.nome); printf("Digite sua idade: "); scanf("%d", &p.idade); f = fopen("pessoas.txt", "a"); f2 = fopen("pessoas2.bin", "ab"); fwrite(&p, sizeof(Pessoa), 1, f); fclose(f); fclose(f2); f = fopen("pessoas.txt", "r"); f2 = fopen("pessoas2.bin", "rb");  if (!f) {     printf("Erro ao tentar ler o arquivo.\n");     exit(1); }  while(fread(&p, sizeof(Pessoa), 1, f)) {     printf("Olá %s, você tem %d anos.\n", p.nome, p.idade); }  fclose(f);   return 0; 

}