Archivio della categoria: PHP

[PHP/cURL] How to check file exists with PHP and cURL lib

Salve a tutti,

oggi vorrei condividere una semplice funziona per il controllo dell’esistenza di un file (foto, video, file in generale)
con una semplice funzione php:

function check_file_exists($file_url) {
	$ch = curl_init($file_url);
	curl_setopt($ch, CURLOPT_NOBODY, true);
	curl_exec($ch);
	$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	curl_close($ch);
 
	if($retcode == '200')
		return TRUE; //exists
	else
		return FALSE;// not exists
 
}

Questa funzione cerca di ritornare l’HTTP CODE dal server remoto per restituirne il codice,
nel nostro caso se il codice di ritorno è 200 allora il file esiste, altrimenti no.

Esempio di utilizzo potrebbe essere:

<?php
$file_remoto = 'http://www.tuolink.com/multimedia.png';
 
if(check_file_exists($file_remoto) == 1) {
    print 'File esistente!';
}else{
    print 'File NON esistente!';
}
 
?>

Questo è tutto, spero servirà a qualcuno :D

[PHP/Socket] How to send data via POST with the Socket

Holaz a todos,

come per l’articolo precedente dell’invio di dati via POST con le cURL, ora vi spiego come inviarli via socket in PHP.
Questo script potrebbe essere utile qualora vi venisse in mente di effettuare uno scambio dati su svariati web server.

Ecco il codice (sempre rigorosamente commentato):

<?php
//Nome della pagina alla quale inviare i dati
$uri = '/test/response_socket.php';
 
//Indirizzo web (http:// o IP) dove indirizzare la chiamata socket (in questo caso è su un web server in locale)
$sito = '192.168.1.1';
 
$query = 'username=luongovincenzo92&password=7c4a8d09ca3762af61e59520943dc26494f8941b'; //valori post
 
//Controllo se la chiamate via socket va a buon fine sulla porta 80
if (!($sock = fsockopen($sito, 8080))) // se va bene creo l'oggetto $sock
	die ("[ERRPR] Connessione non riuscita, si prega di controllare se le socket sono abilitate");
 
//Genero il il pacchetto POST (HEADER HTTP) per inviarlo
fputs ($sock,
  "POST $uri HTTP/1.1\r\n".
  "Host: $sito\r\n".
  "Content-Type: application/x-www-form-urlencoded\r\n".
  "Content-Length: ".strlen($query)."\r\n". //Grandezza della chiamata
  "Connection: close\r\n\r\n".
  $query."\r\n");//dati di invio
 
//Vabiabile di contenimento dell'output di risposta
$out = "";
 
//Ciclo e attendo la risposta del socket per estrapolare la risposta del file
// fino a termine della chiamata
while (!feof($sock))
  $out .= fgets($sock);
 
//Chiudo la connessione
fclose($sock); 
 
//Cerco di pulire l'output sporcato dalla richiesta ( prima dei doppi \r\n cè la richiesta HTTP completa che a noi non serve)
$output_pulito = explode("\r\n\r\n", $out);
 
//Stampo la risposta
print $output_pulito[1];
?>

Per la pagina di risposta c’è sempre la solita:

<?php
 
print_r($_POST);
 
?>

Note: Ricordate che per eseguire correttamente questo script dovreste avere abilitate le socket sul vostro web server altrimenti non funzionerà mai.

Note 2: Se invece dovete aprire una connessione ad un web server esterno, dovrete abilitate il parametro allow_url_fopen del vostro php.ini

Ogni problema o dubbio commentate :D

[PHP/cURL] How to send data using POST method to any page with cURL

Salve a tutti,

da un recente progetto, mi sono tornate utili le librerie PHP di cURL per potermi dare la possibilità di inviare delle richieste con metodo POST ad un determinato Web Server.
vediamo di seguito come utilizzarle:

<?php 
 
//Qui dichiariamo la pagina con url completo, alla quale inviare i dati
$url = "http://www.sito.com/pagina_richiede_dati.php";
 
// Qui ninvece, dichiariamo i dati da inviare come se fossero via GET (quindi separati da una & )
$send_data = "username=luongovincenzo92&password=7c4a8d09ca3762af61e59520943dc26494f8941b&token=e10adc3949ba59abbe56e057f20f883e"; 
 
//Qui iniziamo ad utilizzare la libreria inizializzandola
$ch = curl_init();  
 
//Qui settiamo l'utl sulla quale inviare i dati
curl_setopt($ch, CURLOPT_URL, $url);  
 
//Qui settiamo la metodologia di invio dati (in questo caso POST)
curl_setopt($ch, CURLOPT_POST, 1);  
 
//Qui specifichiamo quali dati inviare alla pagina
curl_setopt($ch, CURLOPT_POSTFIELDS, $send_data);  
 
//Qui settiamo che vogliamo un valore di ritorno (in questo caso tutto ciò che restituisce la pagina)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 
//Eseguo il comando e mi conservo la risposta della pagina
$response = curl_exec($ch); 
 
//Chiudo la connessione
curl_close($ch); 
 
// $res contiene la risposta della pagina a cui abbiamo inviato i dati via POST
print $response; 
 
?>

La pagina alla quale abbiamo inviato i dati è un qualcosa di simile:

<?php 
 
print_r($_POST); 
 
?>

E dalla pagina di invio dovremmo avere una risposta simile:

Array(
	"username" => "luongovincenzo92",
	"password" => "7c4a8d09ca3762af61e59520943dc26494f8941b",
	"token"    => "e10adc3949ba59abbe56e057f20f883e"
);

Ed ecco tutto.

Alla prossima ^_^

[PHP] How to create a ZIP file and download

Salve a tutti,

recentemente mi è tornato utile creare un archivio zip di determinati file, per poi poterlo scaricare dal web al volo.
Per fare ciò mi sono servito della fantastica libreria PclZip con la quale effettuare questa operazione.
bene ora vediamo il codice rigorosamente commentato

<?php
 
//CONFIG: Definisco uan variabile costante per dichiarare
// la cartella dove è contenuta la libreria PclZip
define('__PATH_ZIP_LIB__', './pclzip-2-6/');//Change this
 
//Nome dell'archivio 
$nome_archivio_zip = "Archivio_".date("dmY")."_".time().".zip"; 
 
//CONTROL: se esiste già, cerco di cancellarlo
if (file_exists($nome_archivio_zip)) 
	@unlink($nome_archivio_zip); 
 
 
//Includo la libreria e genero l'oggetto zip 
require_once(__PATH_ZIP_LIB__.'pclzip.lib.php'); 
 
$pclzip_obj = new PclZip($nome_archivio_zip); 
 
//Una lista di nomi di files da comprimere 
$lista_file_da_zippare = "profile.php,users.php,mysql.class.php"; //potete scrivere anche il nome di un singolo file eliminando la virgola finale
 
//Aggiungo i files all'archivio 
$response_pclzip = $pclzip_obj->add($lista_file_da_zippare); 
 
//Controllo eventuali errori che possibilmente 
//ha scaturito la compressione
if ($response_pclzip == 0)
    die("[ERROR] PclZip : ".$pclzip_obj->errorInfo(true)); 
 
//Opzionale: scarico l'archivio ZIP
if(!empty($_REQUEST['download'])) {	
 
	header("Content-type: application/zip"); 
	header("Content-Disposition: attachment; filename=$nome_archivio_zip"); 
	header("Content-Description: Backup"); 
	header("Content-Length: ".filesize($nome_archivio_zip)); 
	readfile($nome_archivio_zip);
}
?>

Ecco il sorgente già funzionante, potete modificarlo a vostro piacimento per le vostre esigenze.
Se volete far scaricare direttamente il file bastera richiamare il file php con il seguente URL:

nome_file.php?download=1

Fine, spero servirà a qualcuno :D

[Javascript/PHP] How to delete the last character from a string

Salve a tutti,

oggi scriverò questo breve articolo per spiegare come eliminare l’ultimo carattere da una stringa, sia in linguaggio javascript che in PHP.

Per far ciò ci basta conoscere 2 funzioni dei relativi linguaggi, ovvero: substr (sia in javascript che in PHP) e strlen (in PHP) e l’equivalente in javascript ovvero .length .

Bene ora passiamo alle due funzioni:

Javascript:

function delete_last_character(str) {
    var charts_num = 1; //Questa variabil è possibile manipolarla a seconda di quanti caratteri ULTIMI eliminare
    var len = str.length;
    str = str.substr(0, len - charts_num);
    return str;
}

PHP:

function delete_last_character($str) {
    $charts_num = 1; //Questa variabil è possibile manipolarla a seconda di quanti caratteri ULTIMI eliminare
    return substr($str, 0, strlen($str) - $charts_num);
}

Questo è tutto, utilizzando queste funzioni vi ritornerà la stringa senza l’ultimo carattere finale o, modificando la variabile charts_num, vi permetterà di eliminare tot caratteri asseconda del set di questa variabile.

Detto questo, un saluto a tutti e alla prossima.

[PHP] How to remove null values ​​from an array

Salve a tutti,

è da un pò di tempo che nons crivevo qualcosa, e oggi vi propongo una soluzione per eliminare i valori NULL da un’array PHP.

Ecco la funzione

function array_remove_null(&$array, $maintian_keys = true){
    $new_array = array();
    if(is_array($array)){
        foreach($array as $k=>$v){
            if($v&&$maintian_keys) $new_array[$k]=$v;
            elseif($v) $new_array[]=$v;
        }
    }
    $array = $new_array;
    return $array;
}

Per utilizzarla

array_remove_null($your_array_object);

La funzione è utilissima per la pulizzia di un’array parsato tante volte.

FONTE

[PHP] How to get file extension

Holaz a todos :D

piccolo promemoria per estrarre dal nome di un file, la sua estenzione.

Ho optato per un semplice scriptino in PHP che mi è tornato molto utile:

<?php
 
 
function getExt($fName) {
    $ext = explode( ".", $fName );
    return strtoupper( $ext[ count( $ext ) - 1 ] );
}
 
$file = "pagina.class.php";
 
print getExt($file);
 
?>

Basta richiamarsi tale funzione getExt() e vi ritornerà indietro l’estenzione del file controllato.

Enjoy

[PHP] How to view the latest articles wordpress

Salve a tutti,

oggi ho implementato nella home page del sito, la visualizzazione degli ultimi 7 articoli del blog.
Lo script PH che ho utilizzato è molto semplice ma molto utile e facile da implementare in qualsiasi sito nella quale è installato il CMS wordpress.

Lo script PHP in questione è il sequente:

<?php 
define('__BLOG_DIR__', 'blog/');//Settare la directory del vostro sito dove si trova il cms
 
require(__BLOG_DIR__.'wp-blog-header.php'); 
 
print "\n<ul>";
$count = 0;
$post  = 5; 
while($count <> 5) { //al posto del numero 5 potrete mettere il numero che vorrete degli articoli che vorrete var visualizzare
	print "\n<li><a href=\"";
	print the_permalink(the_post());
	print "\">";
	print the_title();
	print "</a></li>";
	$count++;
}
 
print "\n</ul>";
?>

Spero che questo script possa servire a qualcuno.

Saluti :D