venerdì 26 settembre 2008

Error "No input file specified" in php with IIS

When running a script in php with IIS, "No input file specified" is shown.

Solution:
Uncomment doc_root = "d:\Inetpub\wwwroot" in php.ini
Restart IIS

Using PHP in ISAPI mode does not require doc_root if you want to change the root folder in IIS control panel.

giovedì 25 settembre 2008

Script php: Copiare un file remoto sul proprio server

Questo script php ci permette di leggere un file remoto, che si trova su altro server e spazio web, e copiarlo sul nostro server in una cartella da noi scelta.

Ecco il codice commentato:


set_time_limit(300);
//Percorso file remoto
$remotefile="http://www.sitename.com/file.ext";
//Cartella locale in cui copiare il file
$cartella="downloaded/"; // cartella dove mettere immagini
//apro il file remoto da leggere
$srcfile1 = fopen("$remotefile", "r");
//prelevo il nome del file
$nomefile=basename($remotefile);
//apro il file in locale
if (!($fp1 = fopen($cartella.$nomefile,"w")));
//scrivo contenuto del file remoto, ora in temp file, in file locale
while ($contents = fread( $srcfile1, 1024 )) {
fwrite( $fp1, $contents, strlen($contents) );
}
//chiudo i due files
fclose($srcfile1);
fclose($fp1);
?>

Importare un file con estensione csv in una tabella MYSQL con campi definiti DATETIME o DATE

A volte abbiamo necessita' di importare un file csv in una tabella MYSQL

il comando sql per ottenere cio e': LOAD DATA LOCAL INFILE

riporto sotto un esempio di sintassi:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'


Spesso possiamo incorrere nel problema delle date che potrebbero essere digitate DD-MM-YYYY. MYSQL adotta i valori dei campi DATE nel formato YYYY-MM-DD. Se eseguiamo l'istruzione percedente potrebbe memorizzare la data nel formato errato e allora che ci viene incontro il comando SET seguito da funzioni di MYSQL.

sotto un esempio:


set
campodata = date_format(campodata, '%d/%m/%y')


questo comando va ad integrare il precedente ottenendo cosi' la conversione della data nel corso dell'importazione.

sotto riportato il comando integrale:
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
set
campodata = date_format(campodata, '%d/%m/%y')



La stringa di formattazione supporta una serie di caratteri speciali (sempre preceduti dal carattere %). Vediamo di seguito i più utilizzati:

%d: giorno del mese (numero)
%M: nome del mese
%m: mese (numero)
%H: ora (numero da 0 a 23)
%i: minuti (numero)
%s: secondi (numero)
%Y: anno (4 cifre)
%y: anno (2 cifre)

Per tutti le altre opzioni di formattazione rinviamo alla documentazione ufficiale di MySQL.

Se nel caso il file csv contiene le informazioni dei campi nella prima riga con il comando:

ignore 1 lines

specificheremo che nell'importazione bisogna ignorare la prima riga.

esempio:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
ignore 1 lines
set
campodata = date_format(campodata, '%d/%m/%y')

sabato 13 settembre 2008

Impossibile recuperare l'elenco delle schede di rete.

se vi capita di imbattervi nel problema che andando nelle connessioni di rete e non si visualizza nessuna icona andate alla pagina:

http://support.microsoft.com/?scid=kb%3Bit%3B825826&x=12&y=14

e seguite passo passo tutte le istruzioni

venerdì 12 settembre 2008

Fonte di informazioni su problemi hardware

Ottimo sito con forum frequentato da gente competente in materia di problemi hardware e non solo. http://www.hardwareanalysis.com/

mercoledì 10 settembre 2008

IIS 5.1 + Php 5.2.6 + Apache 2.2

Per installare e far coesistere sulla stessa macchina IIS 5.1, Php 5.2 e Apache seguire i seguenti passi:

1. Scaricare l'archivio zip dal sito http://www.php.net/downloads.php
2. Scompattare l'archivio nella cartella C:\php-5.2.6
3. Aprire IIS 5.1 -> Proprietà del sito web -> Home directory -> Configurazione ed aggiungere qui il seguente mapping:
  • Eseguibile = C:\php-5.2.6\php5isapi.dll
  • Estensione = .php
OK
4. Aprire il file C:\Programmi\Apache Software Foundation\Apache2.2\conf\httpd.conf ed aggiungere alla fine le seguenti righe:
  • PHPIniDir C:/php-5.2.6/
  • LoadModule php5_module C:/php-5.2.6/php5apache2_2.dll
  • AddType application/x-httpd-php .php
Modificare inoltre la variabile DocumentRoot inserendo il percorso preferito come ad esempio:
  • DocumentRoot "C:/apache_home"
5. Aggiungere alla variabile di sistema %Path% il percorso C:\php-5.2.6
6. Copiare il file C:\php-5.2.6\php.ini-recommended in C:\php-5.2.6\php.ini e modificarlo come segue;
  • doc_root = "C:\Inetpub\wwwroot"
  • extension_dir = "C:\php-5.2.6\ext"
7. Nel file di configurazione httpd.conf sostituire opportunamente le varie sezioni <Directory "C:/Programmi/Apache Software Foundation/Apache2.2/htdocs"> con i nuovi riferimenti della DocumentRoot. Quindi ad esempio con <Directory "C:/apache_home">

8. Riavviare IIS ed Apache