<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: Ribafs's Code Snippets</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Wed, 20 Aug 2008 05:24:00 GMT</pubDate>
    <description>DZone Snippets: Ribafs's Code Snippets</description>
    <item>
      <title>Populate PostgreSQL tables</title>
      <link>http://snippets.dzone.com/posts/show/3749</link>
      <description>This script in PHP populate with demo data tables Postgresql.&lt;br /&gt;It insert serious registers automatically in a table.&lt;br /&gt;Remove the primary key before run.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;/** Rotina para popular tabela do PostgreSQL com massa de testes&lt;br /&gt;  * Colabora&#231;&#227;o de Ribamar FS - http://ribafs.net - 14/03/2007&lt;br /&gt;  * Requer remo&#231;&#227;o da chave prim&#225;ia antes da execu&#231;&#227;o.&lt;br /&gt;  */ &lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;Inserir Registros de Teste&lt;/title&gt;&lt;/head&gt;&lt;br /&gt;&lt;body bgcolor=''&gt;&lt;br /&gt;&lt;h2 align=center&gt;Cadastrar Tabela do PostgreSQL com Massa de Testes&lt;/h2&gt;&lt;br /&gt;&lt;h3 align=center&gt;&lt;font color=red&gt;Remova chave prim&#225;ia da tabela, antes de executar&lt;/font&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h4 align=center&gt;Observe que nem todos os tipos de dados foram contemplados, alguns ficar&#227;o como string&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align=center&gt;&lt;br /&gt;&lt;form method='POST' name=frmIns action='popula_table_pg.php'&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Host&lt;/td&gt;&lt;td&gt;&lt;input type=text name='host' value='127.0.0.1'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Banco&lt;/td&gt;&lt;td&gt;&lt;input type=text name='banco' value='cliente'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Usu&#225;rio&lt;/td&gt;&lt;td&gt;&lt;input type=text name='usuario' value='postgres'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Senha&lt;/td&gt;&lt;td&gt;&lt;input type=text name='senha' value='postgres'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Tabela&lt;/td&gt;&lt;td&gt;&lt;input type=text name='tabela' value='clientes'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Registros&lt;/td&gt;&lt;td&gt;&lt;input type=text name='registros' value=5&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;input type=submit name='popular' value='Popular'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;if(isset($_POST['popular'])){&lt;br /&gt;	$host=$_POST['host'];&lt;br /&gt;	$banco=$_POST['banco'];&lt;br /&gt;	$usuario=$_POST['usuario'];&lt;br /&gt;	$senha=$_POST['senha'];&lt;br /&gt;	$tabela=$_POST['tabela'];&lt;br /&gt;	$registros=$_POST['registros'];&lt;br /&gt;&lt;br /&gt;	$conexao=pg_connect("host=$host user=$usuario password=$senha dbname=$banco port=5432");&lt;br /&gt;	if (!$conexao){&lt;br /&gt;		die('Erro ao conectar ao banco&lt;br&gt;'.pg_last_error($conexao));&lt;br /&gt;	}&lt;br /&gt;	$str="SELECT * FROM $tabela";&lt;br /&gt;	$consulta= pg_query($conexao,$str);&lt;br /&gt;	$nc=pg_num_fields($consulta);&lt;br /&gt;	$nr=pg_num_rows($consulta);&lt;br /&gt;&lt;br /&gt;   $n='';//numericos (int, tinyint, smallint, bigint, etc)&lt;br /&gt;   $r=''; //reais (float e double)&lt;br /&gt;   $s="'";//strings&lt;br /&gt;   $d=date('Y-m-d'); //datas&lt;br /&gt;   $dt=date('Y-m-d H:i:s');//datatimes&lt;br /&gt;   $o=''; //outros&lt;br /&gt;&lt;br /&gt;   	$inscod .="INSERT INTO $tabela (";&lt;br /&gt;   	for ($j = 0; $j &lt; $nc; $j++) {&lt;br /&gt;      $campo = pg_field_name($consulta, $j);&lt;br /&gt;		if ($j &lt; $nc-1)	$inscod .= "$campo,";&lt;br /&gt;     	else $inscod .= "$campo";&lt;br /&gt;	}&lt;br /&gt;	$inscod .= ")";	 &lt;br /&gt;    $inscod .= " VALUES (";&lt;br /&gt;&lt;br /&gt;   for ($j = 0; $j &lt; $nc; $j++) {   &lt;br /&gt;   $tam   = pg_field_size($consulta, $j);&lt;br /&gt;   if($tam == -1) $tam=20; //Caso queira limitar os campos ao m&#225;ximo de 20 posi&#231;es&lt;br /&gt;		if ($j &lt; $nc-1){ &lt;br /&gt;			switch (pg_field_type($consulta, $j)){&lt;br /&gt;				case 'int4':&lt;br /&gt;					$n=str_pad($n,$tam,'12345679890');&lt;br /&gt;					$inscod .= "$n,";&lt;br /&gt;					break;&lt;br /&gt;     			case 'float4':&lt;br /&gt;					$r=str_pad($r,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$r,";&lt;br /&gt;					break;&lt;br /&gt;				case 'bpchar':&lt;br /&gt;				case 'varchar':&lt;br /&gt;					$s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "$s',";&lt;br /&gt;					break;&lt;br /&gt;				case 'date':&lt;br /&gt;		 		    $inscod .= "'$d',";&lt;br /&gt;					break;&lt;br /&gt;				case 'timestamp':&lt;br /&gt;					$inscod .= "'$dt',";&lt;br /&gt;					break;&lt;br /&gt;				case 'text':&lt;br /&gt;					$inscod .= "'$t'";&lt;br /&gt;					break;&lt;br /&gt;				default:&lt;br /&gt;					$o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "'$o',";&lt;br /&gt;					break;&lt;br /&gt;			}&lt;br /&gt;     	}else{&lt;br /&gt;     		switch (pg_field_type($consulta, $j)){&lt;br /&gt;				case 'int4':&lt;br /&gt;					$n=str_pad($n,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$n";&lt;br /&gt;					break;&lt;br /&gt;     			case 'float4':&lt;br /&gt;					$r=str_pad($r,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$r";&lt;br /&gt;					break;&lt;br /&gt;				case 'bpchar':&lt;br /&gt;				case 'varchar':&lt;br /&gt;					$s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "$s'";&lt;br /&gt;					break;&lt;br /&gt;				case 'date':&lt;br /&gt;					$inscod .= "'$d'";&lt;br /&gt;					break;&lt;br /&gt;				case 'timestamp':&lt;br /&gt;					$inscod .= "'$dt'";&lt;br /&gt;					break;&lt;br /&gt;				case 'text':&lt;br /&gt;					$inscod .= "'$t'";&lt;br /&gt;					break;&lt;br /&gt;				default:&lt;br /&gt;					$o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "'$o'";&lt;br /&gt;					break;&lt;br /&gt;     		}&lt;br /&gt;     	}&lt;br /&gt;     	&lt;br /&gt;	}&lt;br /&gt;    $inscod .=");";	&lt;br /&gt;	&lt;br /&gt;    for($r=1;$r&lt;=$registros;$r++){	   &lt;br /&gt;		//echo  $inscod;&lt;br /&gt;	   	if(!pg_query($conexao,$inscod)) die ("Erro na inclus&#227;&lt;br&gt;".pg_last_error($conexao));&lt;br /&gt;    }	   &lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 30 Mar 2007 15:06:16 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3749</guid>
      <author>ribafs (Ribamar FS)</author>
    </item>
    <item>
      <title>Populate MySQL tables</title>
      <link>http://snippets.dzone.com/posts/show/3748</link>
      <description>This script in PHP to populate with demo data tables MySQL.&lt;br /&gt;Remove the primary key before run.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;/** Rotina para popular tabela do MySQL com massa de testes&lt;br /&gt;  * Colabora&#231;&#227;o de Ribamar FS - http://ribafs.net - 14/03/2007&lt;br /&gt;  * Requer remo&#231;&#227;o da chave prim&#225;ria antes da execu&#231;&#227;o.&lt;br /&gt;  */ &lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;Inserir Registros de Teste&lt;/title&gt;&lt;/head&gt;&lt;br /&gt;&lt;body bgcolor=''&gt;&lt;br /&gt;&lt;h2 align=center&gt;Cadastrar Tabela do MySQL com Massa de Testes&lt;/h2&gt;&lt;br /&gt;&lt;h3 align=center&gt;&lt;font color=red&gt;Remova chave prim&#225;ia da tabela, antes de executar&lt;/font&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h4 align=center&gt;Observe que nem todos os tipos de dados foram contemplados, alguns ficar&#227;o como string&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align=center&gt;&lt;br /&gt;&lt;form method='POST' name=frmIns action='popula_table.php'&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Host&lt;/td&gt;&lt;td&gt;&lt;input type=text name='host' value='127.0.0.1'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Banco&lt;/td&gt;&lt;td&gt;&lt;input type=text name='banco' value='cliente'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Usu&#225;io&lt;/td&gt;&lt;td&gt;&lt;input type=text name='usuario' value='root'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Senha&lt;/td&gt;&lt;td&gt;&lt;input type=text name='senha'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Tabela&lt;/td&gt;&lt;td&gt;&lt;input type=text name='tabela' value='clientes'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Registros&lt;/td&gt;&lt;td&gt;&lt;input type=text name='registros' value=5&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;input type=submit name='popular' value='Popular'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;if(isset($_POST['popular'])){&lt;br /&gt;	$host=$_POST['host'];&lt;br /&gt;	$banco=$_POST['banco'];&lt;br /&gt;	$usuario=$_POST['usuario'];&lt;br /&gt;	$senha=$_POST['senha'];&lt;br /&gt;	$tabela=$_POST['tabela'];&lt;br /&gt;	$registros=$_POST['registros'];&lt;br /&gt;	$numericos=$_POST['numericos'];&lt;br /&gt;&lt;br /&gt;	$conexao=mysql_connect($host,$usuario,$senha);&lt;br /&gt;	if ($conexao){&lt;br /&gt;		$sel=mysql_select_db($banco,$conexao);&lt;br /&gt;		if(!$sel) die('Erro ao selecionar o banco'.mysql_error());&lt;br /&gt;	}else{&lt;br /&gt;		die ('Erro ao conectar ao banco '.mysql_error());&lt;br /&gt;	}&lt;br /&gt;	$str="SELECT * FROM $tabela";&lt;br /&gt;	$consulta= mysql_query($str,$conexao);&lt;br /&gt;	$nc=mysql_num_fields($consulta);&lt;br /&gt;	$nr=mysql_num_rows($consulta);&lt;br /&gt;&lt;br /&gt;   $n='';//numericos (int, tinyint, smallint, bigint, etc)&lt;br /&gt;   $r=''; //reais (float e double)&lt;br /&gt;   $s="'";//strings&lt;br /&gt;   $d=date('Y-m-d'); //datas&lt;br /&gt;   $dt=date('Y-m-d H:i:s');//datatimes&lt;br /&gt;   $o=''; //outros&lt;br /&gt;&lt;br /&gt;   	$inscod .="INSERT INTO $tabela (";&lt;br /&gt;   	for ($j = 0; $j &lt; $nc; $j++) {&lt;br /&gt;      $campo = mysql_field_name($consulta, $j);&lt;br /&gt;		if ($j &lt; $nc-1)	$inscod .= "$campo,";&lt;br /&gt;     	else $inscod .= "$campo";&lt;br /&gt;	}&lt;br /&gt;	$inscod .= ")";	 &lt;br /&gt;    $inscod .= " VALUES (";&lt;br /&gt;&lt;br /&gt;   for ($j = 0; $j &lt; $nc; $j++) {   &lt;br /&gt;   $tam   = mysql_field_len($consulta, $j);&lt;br /&gt;   //if(($tam)&gt;20) $tam=20; //Caso queira limitar os campos ao m&#225;ximo de 20 posi&#231;&#245;es&lt;br /&gt;		if ($j &lt; $nc-1){ &lt;br /&gt;			switch (mysql_field_type($consulta, $j)){&lt;br /&gt;				case 'int':&lt;br /&gt;					$n=str_pad($n,$tam,'12345679890');&lt;br /&gt;					$inscod .= "$n,";&lt;br /&gt;					break;&lt;br /&gt;     			case 'real':&lt;br /&gt;					$r=str_pad($r,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$r,";&lt;br /&gt;					break;&lt;br /&gt;				case 'string':&lt;br /&gt;					$s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "$s',";&lt;br /&gt;					break;&lt;br /&gt;				case 'date':&lt;br /&gt;		 		    $inscod .= "'$d',";&lt;br /&gt;					break;&lt;br /&gt;     			case 'datetime':&lt;br /&gt;				case 'timestamp':&lt;br /&gt;					$inscod .= "'$dt',";&lt;br /&gt;					break;&lt;br /&gt;				case 'blog':&lt;br /&gt;					$inscod .= "'$t'";&lt;br /&gt;					break;&lt;br /&gt;				default:&lt;br /&gt;					$o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "'$o',";&lt;br /&gt;					break;&lt;br /&gt;			}&lt;br /&gt;     	}else{&lt;br /&gt;     		switch (mysql_field_type($consulta, $j)){&lt;br /&gt;				case 'int':&lt;br /&gt;					$n=str_pad($n,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$n";&lt;br /&gt;					break;&lt;br /&gt;     			case 'real':&lt;br /&gt;					$r=str_pad($r,$tam,'1234567890');&lt;br /&gt;					$inscod .= "$r";&lt;br /&gt;					break;&lt;br /&gt;     			case 'string':&lt;br /&gt;					$s=str_pad($s,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "$s'";&lt;br /&gt;					break;&lt;br /&gt;				case 'date':&lt;br /&gt;					$inscod .= "'$d'";&lt;br /&gt;					break;&lt;br /&gt;	     		case 'datetime':&lt;br /&gt;				case 'timestamp':&lt;br /&gt;					$inscod .= "'$dt'";&lt;br /&gt;					break;&lt;br /&gt;				case 'blog':&lt;br /&gt;					$inscod .= "'$t'";&lt;br /&gt;					break;&lt;br /&gt;				default:&lt;br /&gt;					$o=str_pad($o,$tam,"abcdefghijklmnopqrstuvxyz");&lt;br /&gt;					$inscod .= "'$o'";&lt;br /&gt;					break;&lt;br /&gt;     		}&lt;br /&gt;     	}&lt;br /&gt;     	&lt;br /&gt;	}&lt;br /&gt;    $inscod .=");";	&lt;br /&gt;	&lt;br /&gt;    for($r=1;$r&lt;=$registros;$r++){	   &lt;br /&gt;		//echo  $inscod;&lt;br /&gt;	   	if(!mysql_query($inscod,$conexao)) die ("Erro na inclus&#227;o".mysql_error());&lt;br /&gt;    }	   &lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 30 Mar 2007 15:01:41 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3748</guid>
      <author>ribafs (Ribamar FS)</author>
    </item>
    <item>
      <title>Directory List with PHP</title>
      <link>http://snippets.dzone.com/posts/show/3747</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;This code list all files and subdirectories in a dirctory with links.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;ribafs.net - Tutoriais&lt;/title&gt;&lt;/head&gt;&lt;br /&gt;&lt;body bgcolor='#FFFACD'&gt;&lt;br /&gt;&lt;h2 align=center&gt;&lt;a href="http://ribafs.net"&gt;http://ribafs.net - &lt;?php echo date('d/m/Y H:i:s'); ?&gt;&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;$dn = opendir (dirname(__FILE__));&lt;br /&gt;$exclude = array("index.php", ".", "..");&lt;br /&gt;&lt;br /&gt;// adiciona os arquivos ao array $arquivos&lt;br /&gt;while($fn = readdir($dn)) {&lt;br /&gt;	if ($fn == $exclude[0] || $fn == $exclude[1] || $fn == $exclude[2]) continue;&lt;br /&gt;	$arquivos[] = $fn;&lt;br /&gt;}&lt;br /&gt;// ordena o vetor&lt;br /&gt;sort($arquivos);&lt;br /&gt;// exibe os arquivos&lt;br /&gt;&lt;br /&gt;foreach ($arquivos as $arquivo)&lt;br /&gt;&lt;br /&gt;if (is_dir($arquivo)){&lt;br /&gt;	$dir .= "&lt;img src='/imagens/diretorio.png'&gt;&amp;nbsp;&lt;a href='$arquivo'&gt;$arquivo&lt;/a&gt;&lt;br&gt;";&lt;br /&gt;}else{&lt;br /&gt;	$tamanho = filesize($arquivo);&lt;br /&gt;	$m = 'bytes';&lt;br /&gt;	if ($tamanho&gt;1024) {&lt;br /&gt;		$tamanho=round($tamanho/1024,2);&lt;br /&gt;		$m = 'KB';&lt;br /&gt;	} elseif($tamanho &gt; 1024*1024){&lt;br /&gt;		$tamanho = round(($tamanho/1024)/1024,2);&lt;br /&gt;		$m = 'MB';&lt;br /&gt;	}&lt;br /&gt;	$arq .= "&lt;img src='/imagens/arquivo.png'&gt;&amp;nbsp;&lt;a href='$arquivo'&gt;$arquivo&lt;/a&gt; - $tamanho $m&lt;br&gt;";&lt;br /&gt;}&lt;br /&gt;echo $dir . $arq;&lt;br /&gt;&lt;br /&gt;closedir($dn);&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 30 Mar 2007 14:56:48 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3747</guid>
      <author>ribafs (Ribamar FS)</author>
    </item>
  </channel>
</rss>
