RE:Pasar DBF a MySQL desde Localhost
Hola Sttulls:
como dicen por ahi hay muchas formas de matar pulgas...
yo lo que hice fue copiar el dbf de mi maquina al servidor / host, con el siguiente script y uso tambien un formulario con el boton de examinar ficheros INPUT TYPE="FILE"
------------------ UPLOAD.PHP------------------
<?
if(!isset($cargar)){
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>:: Formulario de carga de ficheros ::</TITLE>
<style type="text/css">
<!--
.Estilo1 { font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
<LINK REL=StyleSheet HREF="estilos.css" TYPE="text/css" MEDIA=screen>
</HEAD>
<BODY >
<FORM NAME="elForm" METHOD="POST"
ACTION="<? echo $PHP_SELF; ?>?cargar=1"
ENCTYPE="multipart/form-data">
<h3 align="center" class="Estilo1">MODULO DE CARGA DE DATOS</h3>
<h5><span class="Estilo2">Para cargar los datos tiene que seleccionar el archivo DBF a exportar y luego hacer click e "Cargar la Información" . </span></h5>
<p> </p>
<TABLE WIDTH="80%" STYLE="font-family:Arial;font-size:9pt;">
<TR>
<TD ALIGN="LEFT"><INPUT TYPE="FILE" NAME="elFichero"></INPUT></TD>
</TR>
<TR>
<TD ALIGN="LEFT"><INPUT TYPE="SUBMIT" VALUE="Subir el fichero">
</TR>
</TABLE>
</FORM></BODY></HTML>
<?
}
#Aquí realizamos la carga del fichero
if(isset($cargar)){
#Le damos al fichero un nuevo nombre
$nuevositio = "./tmp/casos.dbf"; // ARCHIVO casos.dbf SE REESCRIBE CADA VEZ
#Lo copiamos
if(!copy($elFichero,$nuevositio)){
echo "NO SE HA PODIDO SUBIR EL FICHERO";
}
else{
echo "FICHERO SUBIDO CON ÉXITO";
include "dbase.php";
}
}
?>
-------------------------------------------------------------------------
Y como ves si se copio correctamente el archvo llamo al script dbase.php
---------------------- DBASE.PHP---------------------------------------------
<?php
include "conexion.php";
// abrir en modo solo lectura
//$ruta=$HTTP_POST_VARS['Ruta'];
//$ruta=strtoupper($ruta);
$ruta="./tmp/casos.dbf";
$db = dbase_open($ruta, 'r');
if ($db)
{
$numero_registros = dbase_numrecords($db);
// procesar cada uno de los registros
//$numero_registros = dbase_numrecords($db);
for ($i = 1; $i <= $numero_registros; $i++)
{
$row = dbase_get_record_with_names($db, $i);
// asignar cada variable del arreglo row a una individual;
$CASEID=$row['CASEID']; $ORDERDATE=$row['ORDERDATE']; $PACIENTE=$row['PACIENTE']; $DOCTOR=$row['DOCTOR']; $DUEDATE=$row['DUEDATE']; $DELIVER=$row['DELIVER']; $COURIER=$row['COURIER'];
$sSQL="insert into cases (CaseID, OrderDate, Patient, Doctor, DueDate, Memo, idstat,Deliver,courier) values ('$CASEID','$ORDERDATE','$PACIENTE','$DOCTOR','$DUEDATE','','1','$DELIVER','$COURIER')";
$result=mysql_db_query("db180088080",$sSQL,$conexion);
}
echo "DATOS CARGADOS...";
include "menu.php";
}
else
{
echo "no se abrio la tabla";
}
?>
------------------------------------------------------------------------------------
fijate que estoy usando las funciones de la libreria PHP_DBASE.DLL la cual tiene que estar cargada desde tu archivo de configuracion PHP.CONFIG en la lìnea:
extension=php_dbase.dll
no debe estar enc omentario.
creo que es mas sencillo y practico, menos pasos. Si te sirve.
Saludos.