Skip to content

Instantly share code, notes, and snippets.

View alexlatam's full-sized avatar
🏠
Working from home

Alexis Montilla alexlatam

🏠
Working from home
View GitHub Profile
@alexlatam
alexlatam / ftp.php
Created July 23, 2024 05:27
FTP Connection using PHP
<?php
// Session data
$ftpHost = 'ftp.domain.ext';
$ftpUsername = 'username';
$ftpPassword = '*****';
// Connect with ftp host
$conn = ftp_connect($ftpHost) or die("Is not possible connect with ftp host");
@alexlatam
alexlatam / filter_var.php
Created July 23, 2024 05:19
Filter and sanitize data with PHP
<?php
// VALIDATIONS
filter_var($integerNumber, FILTER_VALIDATE_INT); // verify if variable is an integer number
filter_var("127.0.0.1", FILTER_VALIDATE_IP); // verify if is an IP code
filter_var("test@mail.com", FILTER_VALIDATE_EMAIL); // verify if is a correct email
filter_var("https://domain.ext/", FILTER_VALIDATE_URL); // verify if is a correct url
filter_var("true", FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); // verify if is a boolean value
filter_var("123.45", FILTER_VALIDATE_FLOAT); // verify if is a float number
//SANITIZE DATA
@alexlatam
alexlatam / dates.php
Created July 23, 2024 04:51
PHP Dates
<?php
echo date("Y/m/d"); // Current date on format: 2024/12/24
echo date("Y-m-d"); // Current date on format: 2024-12-24
echo date("h:i:sa"); // Current hour on format: 04:33:39am
echo date("h:i:s"); // Current hour on format: 04:33:39
echo date("H:I:s"); // Current hour on format: 20:33:39
echo date('Y-m-d H:i:s'); // Current date: 2024-07-23 12:34:56
echo time(); // Current date on Epoch format: 1721709370
echo date("Y-m-d", time()); // Current date from Epoch format to other format: 2024-12-24
echo mktime(0, 0, 0, 7, 23, 2024); // Get Epoch date from specific date: 1721709370
@alexlatam
alexlatam / simple_php_api.php
Created May 30, 2024 13:19
Simple Api on Pure PHP - Without frameworks
<?php
init_set('display_errors', 0);
init_set('html_errors', 0);
$message = new stdClass();
$message->content[0] = "Hi there!";
$message->content[1] = "See you later";
/** Headers Response **/
header('Content-Type: application/json; charset=utf-80); // response tpye
@alexlatam
alexlatam / promises_async_await.js
Last active January 11, 2024 02:57
How it works: Promises - Async/Await - [JavaScript]
/**
* Create a promise and assign it to a variable
*/
let promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Success!')
}, 2000)
});
/**
@alexlatam
alexlatam / typed_array.php
Last active January 29, 2024 18:17
Get an array typed with an specific class on PHP. NameClass[]
<?php
/**
* Creamos una clase de la cual se crearan los objetos que contendra el array
* El array tendra solo objetos de esta clase. [Product, Product, ...]
*/
readonly class Product
{
public function __construct(
private string $name,
@alexlatam
alexlatam / concurrencia.go
Created February 14, 2023 13:25
Example of concurrencie using GO(Golang)
package main
import (
"fmt"
"runtime" // Este paquete permite trabajar con las Go rutinas
"sync" // Permite crear sincronizar las rutinas de Go
)
// Variable que permite crear grupos de rutinas
var wg sync.WaitGroup
@alexlatam
alexlatam / fetch-api-with-promise.js
Last active December 21, 2023 21:32
Consultas a una API de manera concatenada usando fetchData Promises - JavaScript
/*
* npm i node-fetch // Instalamos el paquete
* Necesario agregar en el archivo package.json la directiva "type": "module"
*/
import fetch from "node-fetch";
const API = 'https://api.escuelajs.co/api/v1';
/*--------------------GET---------------------------*/
function fetchData(urlApi){
@alexlatam
alexlatam / fetch_http_request.js
Last active December 21, 2023 21:32
Http Request Api Fetch - Callbacks - JavaScript
const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const API = "https://api.escuelajs.co/api/v1";
//funcion principal que obtendrá la informacion del producto como un objeto
function fetchData(urlApi, callback) {
//inicializar un objeto de tipo XMLHttpRequest
let xhttp = new XMLHttpRequest();
//El metodo .open realiza la petición de apertura de comunicación, el metodo puede ser 'GET' o 'POST',
// luego se envia la URL, si es asincrono (true o false), usuario y contraseña. En esta caso solo se utiliza el metodo, la url y async
xhttp.open('GET', urlApi, true);