Ver Mensaje Individual
  #10 (permalink)  
Antiguo 05/07/2006, 12:54
wallymba
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 17 años, 11 meses
Puntos: 0
Sorry, Este es el codigo
Código PHP:
<?
# recogemeos en variables con el nombre de las usadas en el script anterior
# los valores transferidos por $HTTP_POST
$archivo_name$_FILES['archivo']['name'];
$archivo_size$_FILES['archivo']['size'];
$archivo_type$_FILES['archivo']['type'];
$archivo$_FILES['archivo']['tmp_name'];
$lim_tamano$HTTP_POST_VARS['lim_tamano'];

$directorio='./recibidos/';
$fecha=date("j-n-Y-h:i:s");

if (
move_uploaded_file($archivo$directorio.$fecha=date("j-n-Y-h:i:s-").$archivo_name))
{
echo 
"<h4>El archivo: $archivo_name ha sido recibido satisfactoriamente</h4>";
echo
"<h6>***************************************** ************************************************** ************************************************** ************************************************** ***********</h6>";
echo 
"<br>";
echo 
"<br>";

require 
'../conexion2.php';

$var=file($directorio.$fecha=date("j-n-Y-h:i:s-").$archivo_name);

$fila=count($var);

for(
$i=0;$i<$fila;$i++)
{

//echo $var[$i];

//Función que separa una cadena en varias por un "separador" y las guardar en un arreglo.
$campo=explode(":",$var[$i]);

//Conteo del num. posiciones que se obtuvieron con la funcion explode
$file=count($campo);



//Recorrido de las cada posicion de la cadena
for($j=0;$j<$file;$j++)
//Abre llave del 2ndo for.


echo "<CENTER>".$campo[$j]."</CENTER>";//imprime el valor de la cadena obtenida.

echo "<br>";
}
//Cierra llave del 2ndo for
echo"</tr>";
//Query para obtener la cantidad de existencia del producto en la tabla de inventario en la bd.
$sql="SELECT cantidad FROM inventario WHERE codloc='".$campo[1]."'
AND codprod='"
.$campo[0]."'";

$row=mysql_query($sql);

$existencia=mysql_fetch_array($row);

//echo "<h1>".$existencia[0]."</h1>";


if($campo[2]<=$existencia[0])
{
$update=$existencia[0]-$campo[2];

$sql2="UPDATE inventario SET cantidad=".$update." WHERE codloc='".$campo[1]."'
AND codprod='"
.$campo[0]."'";

$actualizacion=mysql_query($sql2);//Verifica si el query esta bien construido

echo "<CENTER><h5>La actualizacion No. ".$i." ha sido realizada con exito</h5><CENTER>";
echo
"<h6>***************************************** ************************************************** ************************************************** ************************************************** ***********</h6>";

}
else
{

echo 
"<font color='red'><center><h6>No se pudo realizar la actualizacion, no hay suficiente inventario</h6></center>";
echo 
"<CENTER><h3>En inventario:".$existencia[0]."</CENTER></h3>";
echo 
"<CENTER><h3>Vendidos:".$campo[2]."</CENTER></h3>";


echo
"********************************************* ************************************************** ************************************************** ************************************************** *******</font>";
}


echo 
"<br>";

}
//Cierre de llave del primer for



////////////////////////////cuerpo del envio del email////////////////////////////////////

$resultadomysql_query("SELECT * FROM inventario");
# CREAMOS UNA CABECERA DE UNA TABLA (codigo HTML)
//ho "<table align=center border=2>";
# establecemos un bucle que recoge en un array
# cada una de las LINEAS DEL RESULTADO DE LA CONSULTA
# utilizamos en esta ocasión «mysql_fetch_row»
# en vez de «mysql_fetch_array» para EVITAR DUPLICADOS
# recuerda que esta ultima función devuelve un array escalar
# y otro asociativo con los resultados
$f1=fopen("./enviar/Inv_actual-".$fecha."","w+");
$f2=fopen("./enviar-respaldo/Inv_actual-".$fecha."","w+");

fwrite($f1,"Codigo Almacen Codigo Producto Cantidad");
fwrite($f2,"Codigo Almacen Codigo Producto Cantidad");
fwrite($f1,"\n");
fwrite($f2,"\n");


while(
$registro mysql_fetch_row($resultado)){




foreach(
$registro as $clave){

fwrite($f1," $clave: ");
fwrite($f2," $clave: ");

}
fwrite($f1,"\n");
fwrite($f2,"\n");

}
echo 
"<br><br><br>la creacion del archivo se ha completado";
if(
file_exists("./enviar/Inv_actual-".$fecha.""))
{

$UN_SALTO="\r\n";
$DOS_SALTOS="\r\n\r\n";

$destinatario="[email protected]";
$titulo="Inventario actualizado";
$mensaje="<html><head></head><body>";
$mensaje .="<font face=\"Arial\" size=10><center>Env&iacute;o del layout del inventario actualizado </center></font>";
$mensaje .="</body></html>";
$responder="[email protected]";
$remite="[email protected]";
$remitente="Soporte EOS te envia un ficherín";

$separador "_separador_de_trozos_".md5 (uniqid (rand()));

$cabecera "Date: ".date("l j F Y, G:i").$UN_SALTO;
$cabecera .= "MIME-Version: 1.0".$UN_SALTO;
$cabecera .= "From: ".$remitente."<".$remite.">".$UN_SALTO;
$cabecera .= "Return-path: "$remite.$UN_SALTO;
$cabecera .= "Reply-To: ".$remite.$UN_SALTO;
$cabecera .="X-Mailer: PHP/"phpversion().$UN_SALTO;
$cabecera .= "Content-Type: multipart/mixed;".$UN_SALTO;
$cabecera .= " boundary=$separador".$DOS_SALTOS;

// Parte primera -Mensaje en formato HTML
# Separador inicial
$texto ="--$separador".$UN_SALTO;
# Encabezado parcial
$texto .="Content-Type: text/html; charset=\"UTF-8\"".$UN_SALTO;
$texto .="Content-Transfer-Encoding: 7bit".$DOS_SALTOS;
# Contenido de esta parte del mensaje
$texto .= $mensaje;

# Separador de partes

$adj1 $UN_SALTO."--$separador".$UN_SALTO;

// Parte segunda -Fichero adjunto nº 1

# Encabezado parcial

$adj1 .="Content-Type: application/octet-stream; name=\"./enviar/Inv_actual-".$fecha."".$UN_SALTO;
$adj1 .="Content-Disposition: inline; filename=\"./enviar/Inv_actual-".$fecha."".$UN_SALTO;
$adj1 .="Content-Transfer-Encoding: base64".$DOS_SALTOS;

# lectura del fichero adjunto
$fp fopen("./enviar/Inv_actual-".$fecha."""r");
$buff fread($fpfilesize("./enviar/Inv_actual-".$fecha.""));
fclose($fp);
# codificación del fichero adjunto
$adj1 .=chunk_split(base64_encode($buff));

# Separador de partes

$adj2 $UN_SALTO."--$separador".$UN_SALTO;


// Unión de las diferentes partes para crear
// el cuerpo del mensaje


$mensaje=$texto.$adj1;

// envio del mensaje


if( mail($destinatario$titulo$mensaje,$cabecera)){
echo 
"<BR><CENTER><H3>El archivo Inv_actual-".$fecha." ha sido enviado a la direccion $destinatario</H3></CENTER>";

echo
"<h2>******Verifica el inventario que no se actualizo(En rojo)******</h2>";

//header ("Location: script.php");
///exit;

}
else
{
echo 
"NO EXISTE";
}
}


////////////////////////////fin del cuerpo del envio del email////////////////////////////////////




}//Cierre de llave del primer if(uploaded)
else
{
echo 
"<center><h2>No ha podido transferirse el fichero</h2></center>";
echo 
"<center><h3>Su tamano no puede exceder de $lim_tamano bytes</h2></center>";
}

?>
Es importante que muestre la info de lo que realizo el script, ya al ejecutarse el script muestra que que registros fueron actualizados(cantidades) y cuales no, esto para que el usuario verifique las cantidades erroneas del archivo que sube al servidor. asi como si le fue enviado el mail con el archivo ya con los datos actualizados.

Gracias por la ayuda. saludos.