Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Realizzare un widget: Chi è online con PHP, jquery e Mysql

Marzo 6th, 2010 by Giovanni Caputo

Vi segnalo un link interessante per tutti gli sviluppatori che stanno realizzando un sito web.

Potrebbe essere utile, soprattuto per chi sta realizzando una sorta di social network, magari utilizzando buddypress, un widget per conoscere chi è online ( chi è collegato) e mostrando da quale nazione. Se si usa buddypress bisogna creare un plugin apposito ed effettuare l’embed del codice.

LINK

Category: Programmazione | No Comments »

Upload di più file in PHP [Multiple file PHP]

Gennaio 19th, 2010 by Giovanni Caputo

Ciao a tutti,

oggi vi propongo come realizzare l’upload di più file in PHP.

Prima di tutto mi sono servito di una libreria javascript che fornisce una interfaccia molto semplice per aggiungere nuovi file ed eventualmente eliminare i file da uploadare.

La libreria è

jQuery Multiple File Upload Plugin

Vediamo in dettaglio come realizzare:

Prima di tutto creamo una form in un nuovo file .html

<html>

<head>
<script src="jquery-latest.js" type="text/javascript" language="javascript"></script>
<script src="jquery.MultiFile.js" type="text/javascript" language="javascript"></script>
</head>

<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Foto:</label>
<input type="file" accept="gif|jpg" maxlength="3" name="file[]"/>
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

In particolare vengono aggiungi 2 script js scaricabili dal seguente link: LINK

Ssuccessivamente viene definito un normale form con method=”post” ed enctype=”multipart/form-data, e un campo file <input type=”file” accept=”gif|jpg” maxlength=”3″ name=”file[]”/>. Questo codice può essere personalizzato per modificare il tipo di file permessi, il numero di file da uploadre etcc… Per maggiori informazioni vedere gli esempi nel tab example della libreria javascipt precedentemente descritta.

Il risultato di questa form permette al server di ottenere nella variabile $_FILES un vettore contentente i file.

C’è però un piccolo problema, inquanto, il vettore di file non salvato come logicamente potremmo pensare:

array(
  [0] => array(
    'name' => 'file1.txt',
    'tmp_name' => '/tmp/abcdef'
    ....
  ),
  [1] => array(
    'name' => 'file2.txt',
    'tmp_name' => '/tmp/ghijkl'
    ....
  )
);

invece ha una struttra del tipo:

array(
  'name' => array(
    [0] => 'file1.txt',
    [1] => 'file2.txt'
  ),
  'tmp_name' => array(
    [0] => '/tmp/abcdef',
    [1] => '/tmp/ghijkl'
  ),
  ...
);

Quindi abbiami bisogno di una funzione che permetta questo tipo di conversione.
Di seguito il file php (upload_file.php) che permette appunto di convertire, e salvare i file in una cartella upload.

<?php
$files=$_FILES["file"];

$files=array();
$fdata=$_FILES['file'];
if(is_array($fdata['name'])){
 for($i=0;$i<count($fdata['name']);++$i){
 $files[]=array(
 'name'    =>$fdata['name'][$i],
 'tmp_name'=>$fdata['tmp_name'][$i],
 'type' => $fdata['type'][$i],
 'size' => $fdata['size'][$i],
 'error' => $fdata['error'][$i],
 
 );
 }
}
else $files[]=$fdata;

foreach($files as $file){

 salva($file);

}




function salva($file){

if ((($file["type"] == "image/gif")
|| ($file["type"] == "image/jpeg")
|| ($file["type"] == "image/pjpeg"))
&& ($file["size"] < 20000))
 {
 if ($file["error"] > 0)
 {
 echo "Return Code: " . $file["error"] . "<br />";
 }
 else
 {
 echo "Upload: " . $file["name"] . "<br />";
 echo "Type: " . $file["type"] . "<br />";
 echo "Size: " . ($file["size"] / 1024) . " Kb<br />";
 echo "Temp file: " . $file["tmp_name"] . "<br />";

 if (file_exists("upload/" . $file["name"]))
 {
 echo $file["name"] . " already exists. ";
 }
 else
 {
 move_uploaded_file($file["tmp_name"],
 "upload/" . $file["name"]);
 echo "Stored in: " . "upload/" . $file["name"];
 }
 }
 }
else
 {
 echo "Invalid file";
 }
}
?>

Category: Programmazione, Siti Web, Tecnologia | No Comments »

Convertire un testo in immagine in PHP

Gennaio 14th, 2010 by Giovanni Caputo

Vediamo come trasformare il testo in immagine con PHP.

< ?php

  // header dell'immagine
  header("Content-type: image/jpg");

  // indirizzo email
  $string = "tuaemail@dominio.com";

  // impostazioni generali
  $font  = 4;
  $width  = ImageFontWidth($font) * strlen($string);
  $height = ImageFontHeight($font);

  // creazione immagine
  $im = @imagecreatetruecolor ($width,$height);

  //sfondo bianco
  $background_color = imagecolorallocate ($im, 255, 255, 255);

  //testo nero
  $text_color = imagecolorallocate ($im, 0, 0, 0);

  // conversione del testo in immagine
  imagestring ($im, $font, 0, 0,  $string, $text_color);

  // visualizzazione
  imagejpeg ($im);
?>

Fonte: http://www.sastgroup.com

Category: Programmazione, Tecnologia, tutorial | No Comments »

Utilizzare cURL in php

Gennaio 9th, 2010 by Giovanni Caputo

Volevo proporre un link dove ci sono vari utilizzi delle funzione cURL di PHP:

http://net.tutsplus.com

Category: Programmazione | No Comments »

Creare un plugin per WordPress con NetBeans IDE

Dicembre 23rd, 2009 by Giovanni Caputo

Ciao a tutti,

finalmente ho trovato un editor che permetti di sviluppare un plugin per wordpress.

Netbens è utilissimo per sviluppare e per effettuare il debug di un plugin per WordPress.

Vediamo in dettaglio:

  • Scaricare Wordpre da www.wordpress.org oppure da www.Inwordpress-it.it
  • Installare NetBeans IDE per PHP
  • Configurare il Web Server e PHP in NetBeans
  • Configurare MySQL in Netbeans e creare un nuovo database
  • Creare un nuovo progetto Netbeans Image:new-php-project-step-0_ConfiguringNetBeansProjectForWordPress.png
  • Inserire come directory source la cartella dove si è estratto WordPress
  • Inserire come nome progetto WordPress
  • Far salvare i metadati in una directory differente:}}center Image:new-php-project-step-1_ConfiguringNetBeansProjectForWordPress.png
  • Inserire Run As Local Web Site nelle RUN Configuration
  • Inserire l’url da aprire (http://localhost/blog/).
  • Spuntare la casella che permetti di pubblicare direttamente i dati sul server}center Image:new-php-project-step-2_ConfiguringNetBeansProjectForWordPress.png
  • Completare l’installazione di WordPress configurando il file wp-config.php

Di seguito un video che mostra i vari passi di sviluppo e debug:

Category: Programmazione, Siti Web, Tecnologia | No Comments »

Submit di un form con PHP e CURL

Dicembre 12th, 2009 by Giovanni Caputo

Se volete realizzare un script che effettua una richiestsa POST ad un form, come se lo stessimo compilando, per poi parserizzare i risultati, è possibile utilizzare in PHP una funziona CURL.

< ?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.esempio.com/percorso/del/form");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    'foo' => 'foo foo foo',
    'bar' => 'bar bar bar',
    'baz' => 'baz baz baz'
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>

Fonte: sastgroup

Category: Programmazione | No Comments »

Trucco per inserire della variabili nei CSS

Dicembre 6th, 2009 by Giovanni Caputo

Vediamo di seguito un trucco per utilizzare delle variabili all’interno di file CSS.

style.php

Invece di utilizzare un normale file .css, è necessario utilizzare un file con estensione . php

Quindi aggiungerlo nel file .html con il seguente codice:

<link rel='stylesheet' type='text/css' href='css/style.php' />

Content Type

All’inizio del file style.php scrivere il seguente codice:

<?php
    header("Content-type: text/css; charset: UTF-8");
?>

Inizializzazione Variabili

<?php
    header("Content-type: text/css; charset: UTF-8");

   $brandColor = "#990000";
   $linkColor = "#555555";
   $CDNURL = "http://cdn.blahblah.net";
?>

Uso delle variabili

#header {
   background: url("<?php echo $CDNURL; ?>/images/header-bg.png") no-repeat;
}
a {
  color: <?php echo $linkColor; ?>;
}

...

ul#main-nav li a {
  color: <?php echo $linkColor; ?>;
}

Fonte: http://css-tricks.com/

Category: Programmazione | 4 Comments »

Conoscere quanso è stata effettuata l’ultima visita dallo stesso utente in PHP

Novembre 16th, 2009 by Giovanni Caputo

Conoscere quando è stata effettuata l’ultima visita dall’utente può essere molto utile.
Vediamo come realizzarla in PHP con l’utilizzo dei cookie.

< ?php
if(isset($_COOKIE['AboutVisit']))
{
$last = $_COOKIE['AboutVisit']; }
$year = 31536000 + time() ;
//this adds one year to the current time, for the cookie expiration
setcookie(AboutVisit, time (), $year) ;
if (isset ($last))
{
$change = time () - $last;
if ( $change > 86400)
{
echo "Welcome back!  You last visited on ". date("m/d/y",$last) ;
// Tells the user when they last visited if it was over a day ago
}
else
{
echo "Thanks for using our site!";
//Gives the user a message if they are visiting again in the same day
}
}
else
{
echo "Welcome to our site!";
//Greets a first time user
}
?>

Category: Siti Web, Tecnologia, tutorial | No Comments »

print_r() & var_dump() formattati per sviluppatori PHP

Novembre 16th, 2009 by Giovanni Caputo

Molti sviluppatori PHP usano print_r() e var_dump() per effettuare il debug delle proprie applicazioni. I risultati di tali funzioni sono difficile da leggere e non sono formattati.

Krumo rimpiazza queste funzioni  per poter visualizzare le informazioni relative alle variabili in maniera strutturata.

Website: http://krumo.kaloyan.info/
Demo: http://krumo.kaloyan.info/#example
Download: http://krumo.kaloyan.info/#download

Category: Programmazione, Tecnologia, tutorial | No Comments »

Scrivere un testo su una immagine in PHP

Novembre 9th, 2009 by Giovanni Caputo

Questa funzione permette di scrivere un testo e di fonderlo con un’immagine esistente. Se l’immagine non esiste restituisce un’immagine con un messaggio di errore!

< ?php

/*** set the header for the image ***/
header("Content-type: image/jpeg");

/*** specify an image and text ***/
$im = writeToImage('test.jpg', 'PHPRO rules again');

/*** spit the image out the other end ***/
imagejpeg($im);

/**
 *
 * @Write text to an existing image
 *
 * @Author Kevin Waterson
 *
 * @access public
 *
 * @param string The image path
 *
 * @param string The text string
 *
 * @return resource
 *
 */
function writeToImage($imagefile, $text){
/*** make sure the file exists ***/
if(file_exists($imagefile))
    {
    /*** create image ***/
    $im = @imagecreatefromjpeg($imagefile);

    /*** create the text color ***/
    $text_color = imagecolorallocate($im, 233, 14, 91);

    /*** splatter the image with text ***/
    imagestring($im, 6, 25, 150,  "$text", $text_color);
    }
else
    {
    /*** if the file does not exist we will create our own image ***/
    /*** Create a black image ***/
    $im  = imagecreatetruecolor(150, 30); /* Create a black image */

    /*** the background color ***/
    $bgc = imagecolorallocate($im, 255, 255, 255);

    /*** the text color ***/
    $tc  = imagecolorallocate($im, 0, 0, 0);

    /*** a little rectangle ***/
    imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

    /*** output and error message ***/
    imagestring($im, 1, 5, 5, "Error loading $imagefile", $tc);
    }
return $im;
}

?>

Fonte: http://www.sastgroup.com

Category: Programmazione | No Comments »