Skip to content

Instantly share code, notes, and snippets.

View guibranco's full-sized avatar
🎯
Focusing

Guilherme Branco Stracini guibranco

🎯
Focusing
View GitHub Profile
@guibranco
guibranco / Dockerfile
Last active May 14, 2025 04:03
Docker file for PHP 5.6 with Apache, MySQL extension, GD2 and Apache mod_rewrite enabled
FROM php:5.6-apache
RUN sed -i -e 's/deb.debian.org/archive.debian.org/g' \
-e 's|security.debian.org|archive.debian.org/|g' \
-e '/stretch-updates/d' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install --yes --force-yes cron g++ gettext libicu-dev openssl libc-client-dev libkrb5-dev libxml2-dev libfreetype6-dev libgd-dev libmcrypt-dev bzip2 libbz2-dev libtidy-dev libcurl4-openssl-dev libz-dev libmemcached-dev libxslt-dev
RUN a2enmod rewrite
<?php
$isAuthorized = isUserAuthorized(); //sua lógica para validar se o usuário está ou não autorizado.
if(!$isAuthorized)
die(header("Location: index.php")); //se o usuário não tiver autorização, redireciona ele pra index e encerra o script com die()
// aqui ele tá autorizado, então bora servir a imagem...
$image = $_GET["image"]; //supondo que a URL foi acessada via: showImage.php?image=foto123.png
<?php
class A {
private $x;
public function __construct(){
$this->x = "testando";
}
public function __toString(){
<?php
$soma = 0;
$fornecedor = "";
while($mostrar = mysql_fetch_row($result)){
if($fornecedor == "")
$fornecedor = $mostrar[3];
if($fornecedor != $mostrar[3]){
@guibranco
guibranco / opcao.php
Created August 29, 2020 00:33
Switch para PHP conforme opção a ser executada - PHP Brasil - Facebook - https://www.facebook.com/groups/142151625841770/?post_id=3358921867498047
<?php
$data = $_SERVER['REQUEST_METHOD'] == "POST" ? $_POST : $_GET;
$option = $data["opc"];
switch($option){
case "inserir":
$sql = "INSERT INTO tabela (campoA, campoB, campoC, campoN) VALUES (?, ?, ?, ?)";
//código para processar os dados enviados do front, e presentes na $data.
@guibranco
guibranco / trabalhos_bimestrais.php
Last active June 7, 2020 21:08
Atualização de notas - Afonso Cahenga - PHP Brasil - Facebook - https://www.facebook.com/groups/142151625841770/permalink/3120506388006264/
<!DOCTYPE html>
<html>
<head>
<title>Editar Nota</title>
<meta http-equiv="content-Type" content="text/html" charset="UTF-8"/>
<link rel="shortcut icon" href="img/icon.png"/>
<link rel="stylesheet" type="text/css" href="css/estilo.css"/>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
@guibranco
guibranco / DbEntityValidationExceptionParser.cs
Created April 22, 2020 20:45
Capturar mensagens de erro de DbEntityValidationException - Facebook - https://www.facebook.com/guilherme.stracini/posts/3007064412683796:5
public static string Parse(this DbEntityValidationException e)
{
var builder = new StringBuilder();
foreach (var eve in e.EntityValidationErrors)
{
builder.AppendFormat("Entity type: {0} | State: {1}",eve.Entry.Entity.GetType().Name,eve.Entry.State);
foreach (var ve in eve.ValidationErrors)
builder.AppendFormat("Property name: {0} | Current value: {1} | Error message: {2}",
ve.PropertyName,
eve.Entry.CurrentValues.GetValue<Object>(ve.PropertyName),
@guibranco
guibranco / login.php
Last active April 10, 2020 17:40
Validação de nível no login - Afonso Tomás CAhenga - Facebook - https://www.facebook.com/groups/142151625841770/permalink/2978271755563062/
<?php
session_start();
//seu código de verificar usuário...
//...
//...
//...
$_SESSION['email'] = $code;
$_SESSION['nome'] = $nome;
@guibranco
guibranco / split.php
Created April 10, 2020 00:13
Adicionar banner a cada X caracteres - PHP Brasil - Facebook - https://www.facebook.com/groups/142151625841770/permalink/2976960449027526/
<?php
$texto = "sua string de 1500 caracteres";
$limite = 5; //troca para 500, fiz 5 só pra teste.
$banner = "<img src='https://via.placeholder.com/50' alt='teste'/>"; //troca pelo seu código de banner.
$result = "";
$splits = strlen($texto) % $limite;
for($i=0;$i<$splits;$i++)
$result .= substr($texto, $i * $limite, $limite) . $banner;
echo $result;
@guibranco
guibranco / csv.js
Created April 8, 2020 19:54
Função para ler um CSV com um separador qualquer - Desenvolvimento Web - Facebook - https://www.facebook.com/groups/desenvolvimentoweb/permalink/3055949921130093
function parseCSV(data, separator) {
const lines = data.split(/\r\n|\n/);
const header = lines[0].split(separator);
const result = [];
for(let i = 1; i < lines.length; i++){
const fields = lines[i].split(separator);
const line = {};
for(let k = 0; k < header.length; k++)
line[header[k]] = fields[k];