Di recente mi è capitato di caricare un sito da un server Debian con php5 a server CentOS sempre con php5 però magicamente il software non funzionava più.
Continua a leggere: preg_match_all – pcre problem – php5
Articoli correlati ‘php’
preg_match_all – pcre problem – php5
22 luglio 2009eyeOS – Sistema operativo WEB – php/ajax
22 aprile 2009Navigando in giro per la rete in cerca di applicazioni interessanti ho trovato un sistema operativo web molto interessante completo di applicazioni dedicate.
Il codice di questo sistema operativo sembra studiato con intelligenza e in più è totalmente gratuito.
Il link al sito dal quale scaricarlo è il seguente:
Per poter scaricare alcune applicazioni gratuite per il sistema operativo eyeOS vi segnalo il link:
Attraverso l’apposito eyeOS Toolkit è possibile anche creare le propie applicazioni per il proprio eyeOS.
Screenshot:
How-to – Problema con Adobe Flex Upload +[PHP] Sessione + Firefox !
9 aprile 2009In un’applicazione di upload di files multipli in flex3 ho un problema: non mi passa allo script php la sessione corrente, la cosa strana di questo problema è che ciò non succede con internet explorer ma con firefox e safari (su altri non ho testato).
La soluzione a questo bug è facile:
1) Nello script flex aggiungiamo la classe che ho trovato nel seguente blog:
http://myflex.wordpress.com/2008/11/12/actionscript-cookie-util/
//code from myflex.wordpress.com package de.aggro.utils { import flash.external.ExternalInterface; public class CookieUtil { public function CookieUtil() { } private static const FUNCTION_SETCOOKIE:String = "document.insertScript = function ()" + "{ " + "if (document.snw_setCookie==null)" + "{" + "snw_setCookie = function (name, value, days)" + "{" + "if (days) {"+ "var date = new Date();"+ "date.setTime(date.getTime()+(days*24*60*60*1000));"+ "var expires = '; expires='+date.toGMTString();"+ "}" + "else var expires = '';"+ "document.cookie = name+'='+value+expires+'; path=/';" + "}" + "}" + "}"; private static const FUNCTION_GETCOOKIE:String = "document.insertScript = function ()" + "{ " + "if (document.snw_getCookie==null)" + "{" + "snw_getCookie = function (name)" + "{" + "var nameEQ = name + '=';"+ "var ca = document.cookie.split(';');"+ "for(var i=0;i < ca.length;i++) {"+ "var c = ca[i];"+ "while (c.charAt(0)==' ') c = c.substring(1,c.length);"+ "if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);"+ "}"+ "return null;" + "}" + "}" + "}"; private static var INITIALIZED:Boolean = false; private static function init():void{ ExternalInterface.call(FUNCTION_GETCOOKIE); ExternalInterface.call(FUNCTION_SETCOOKIE); INITIALIZED = true; } public static function setCookie(name:String, value:Object, days:int):void{ if(!INITIALIZED) init(); ExternalInterface.call("snw_setCookie", name, value, days); } public static function getCookie(name:String):Object{ if(!INITIALIZED) init(); return ExternalInterface.call("snw_getCookie", name); } public static function deleteCookie(name:String):void{ if(!INITIALIZED) init(); ExternalInterface.call("snw_setCookie", name, "", -1); } } }
2) In seguito richiamiamo lo script php dalla nostra applicazione flex passandogli la sessione:
Nel mio caso il file Mxml dell’applicazione è:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:com="com.flashdev.file.*" layout="absolute" creationComplete="initApp()" backgroundColor="#FFFFFF"> <mx:Script> <![CDATA[ import mx.controls.Alert; import com.utils.CookieUtil; private const _strDomain:String = "http://www.dominio.ext/"; [Bindable] private var _strUploadScript:String = new String("http://www.dominio.ext/flex_uploader.php"); // Initalize private function initApp():void { Security.allowDomain(_strDomain); //qui aggiungo la correzione al bug di firefox e Safari _strUploadScript += "?PHPSESSID=" + CookieUtil.getCookie("PHPSESSID"); // define the type list for the upload uploader.typeList = [new FileFilter("Image files (*.jpg, *.gif, *.png, *.pdf, *.zip, *.xls)", "*.jpg;*.gif;*.png;*.pdf;*.zip;*.xls", "JPEG;jp2_;GIFf;PNGf;PDF;ZIP;XLS")]; uploader.maxSize = 1048576; } ]]> </mx:Script> <mx:Canvas width="400" height="300" horizontalCenter="1" verticalCenter="1"> <com:FileList id="uploader" width="100%" height="100%" uploadUrl="{_strUploadScript}" uploadComplete="Alert.show('File(s) have been uploaded.', 'Upload successful')" uploadIOError="Alert.show('IO Error in uploading file.', 'Error')" uploadSecurityError="Alert.show('Security Error in uploading file.', 'Error')"/> </mx:Canvas> </mx:Application>
Di seguito allego anche il file di progetto: flexfinder
How-to – Spedire una mail con flash/php – Download esempio Form Flash/php
24 marzo 2009Da poco mi è capitato di dover fare un modulo di richiesta informazioni in flash il quale doveva poi essere spedito via mail tramite php.
Senza molte spiegazioni posto il sorgente del formulario con lo script php allegato (compreso di classi per la spedizione della posta in formato corretto) flashphpform . Lo script esegue solo un breve controllo se alcuni campi sono compilati e se la mail è inserita, al momento non ho avuto il tempo di sistemare i vari controlli di sintassi.
Più avanti posterò un nuovo file più completo.
Buon lavoro
Problema con le GD per il resize delle immagini png trasparenti con php – how-to ubuntu distro
10 marzo 2009L’installazione del php di default su un sistema linux ubuntu o Debian non compila il php con la versione bundled delle librerie GD, percui alcune funzioni php tipo “imageantialias” non funzionano. Per poter utilizzare tali funzioni bisogna ricompilare il php con le librerie GD corrette.
Primo passo:
# Installare build tools, debian helpers e fakeroot
apt-get install build-essential debhelper fakeroot
# il codice sorgente risiede in /usr/src
cd /usr/src
# Scaricare il sorgente PHP
apt-get source php5
# Installare tutti i pacchetti richiesti per compilare PHP5
apt-get build-dep php5
cd php5-5.2.4
La configurazione su come un package viene compilato risiede nella cartella debian del package.
Per configurare il processo di compilazione apriremo il file
vim debian/rules
In questo file sostituiremo la riga
--with-gd=shared,/usr --enable-gd-native-ttf
con
--with-gd=shared --enable-gd-native-ttf
Questo fà si che il processo di compilazione usi la versione bundle delle librerie GD e le faccia diventare librerie condivise.
Una volta riconfigurato il nostro pacchetto :
./configure
potremmo quindi instalarlo così:
# build the php5-* packages
dpkg-buildpackage -r
cd ..
# Install the new php5-gd package
dpkg -i php5-gd_5.2.4-2ubuntu5.5_i386.deb
Sarà poi necessario solo un restart di apache:
/etc/init.d/apache2 restart
per poter iniziare ad usufruire delle librerie GD nuove.






