elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
1  Programación / Desarrollo Web / Re: Como puedo capturar el nombre mientras subo archivos al servidor en: Hoy a las 01:14
Hola a todos, ya logre resolver el problema que tenia a continuación les dejo el código por si alguien lo necesita.

Gracias

javascript
Código:
const input = document.getElementById('uploadfiles[]');
if(input.files && input.files[0])
datos = input.files;
$.each(datos,function (index, value) {
 
console.log(index+" "+value.name);
 
var dataString = new FormData($("#form-polizam")[0]);
dataString.append('uploadfile', value);
 
$.ajax({
url: 'index.php?c=gpagar&f=setgdrive',
type: 'POST',
data: dataString,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
beforeSend: function () {
$("div#idsubiendo").html('<div class="alert alert-success"><b>Subiendo ... </b></div>');
},
//una vez finalizado correctamente
success: function (data) {
console.log(data);
$("div#idsubiendo").html('<div class="alert alert-success"><b>El fichero ha sido subido al Google Drive: '+data.error+' </b></div>');
},
//si ha ocurrido un error
error: function (data) {
console.log(data);
$("div#idsubiendo").html('');
bootbox.alert("A ocurrido un error por favor contacte con  el administrador");
}
});
});
Php

                                
Código:
$datos = upload_file($config);
unset($_SESSION['idPol']);
$nombre = $datos['name'];
$ext = pathinfo($nombre, PATHINFO_EXTENSION);
$aNombre = explode("-",$nombre);
$fecha = $aNombre[0]."-".$aNombre[1]."-".$aNombre[2];
//Traemos el id del movimiento.
$idmov = preg_replace('/[^0-9]+/','', $aNombre[4]);
$objMov = $gpa->get_movAutoId($idmov, $fecha);
$_SESSION['idPol'] = $objMov->id;
//Conformamos el nombre del fichro
$nameFile = $gpa->set_namefile($objMov->id_mov);
 
$path = "lib/gdriver/files/";
$nom = $path.$nombre;
$nom2 = $path.$nameFile.".".$ext;
rename($nom, $nom2);
//Extraemos el id de la empresa.
$obj = $emp->get_empresaNomId($aNombre[3]);
$fileid = $gpa->set_datagdrive($nameFile.".".$ext, $obj->id, $fecha);
$jdata['error'] = $nameFile.".".$ext;
echo json_encode($jdata);
2  Programación / Desarrollo Web / Como puedo capturar el nombre mientras subo archivos al servidor en: 20 Enero 2021, 23:16 pm
Hola, tengo la siguiente situación. Estoy subiendo múltiples archivos al servidor pero necesito que una ves que el archivo este en el servidor me muestra el nombre y así sucesivamente con los que siguen. El proceso lo esto haciendo mediante ajax y php. Los archivos me suben sin problema pero el mensaje que recibo es el del último archivo y no mientras están subiendo. Les dejo el código para ver si me pueden ayudar.

Gracias

HTML
Código:
<div id="myModalmultpl" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="myModalLabel">Subir doctumento</h3>
    </div>
    <div class="modal-body">
        <?php echo for_open('#', array('class' => 'form-signin', 'id' =>'form-polizam')); ?>
        <div id="idsubiendo"></div>
        <input type="file" name="uploadfile[]" id="uploadfile[]" multiple />
        <input type="hidden" name="tipoupload" id="tipoupload" value="1" >
        <input type="button" name="submit" id="idsubmit" value="Subir">
        <?php echo for_close(); ?>
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Cerrar</button>
    </div>
</div>

javascript

Código:
$("#idsubmit").on('click', function () {

try {

//obtenemos un array con los datos del archivo
var dataString = new FormData($("#form-polizam")[0]);
$.ajax({
url: 'index.php?c=gpagar&f=setgdrive',
type: 'POST',
data: dataString,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
beforeSend: function () {
$("div#idsubiendo").html('<div class="alert alert-success"><b>Subiendo ...</b></div>');
},
//una vez finalizado correctamente
success: function (data) {
console.log(data);
bootbox.alert("<h6>El fichero ha sido subido al Google Drive: "+data.error+"</h6>");
location.reload();
},
//si ha ocurrido un error
error: function (data) {
console.log(data);
$("div#idsubiendo").html('');
bootbox.alert("A ocurrido un error por favor contacte con  el administrador");
}
});

} catch (err) {
bootbox.alert(err);
}
});

Php

Código:
foreach($datos as $val){
unset($_SESSION['idPol']);
$nombre = $val['name'];
$ext = pathinfo($nombre, PATHINFO_EXTENSION);
$aNombre = explode("-",$nombre);
$fecha = $aNombre[0]."-".$aNombre[1]."-".$aNombre[2];
//Traemos el id del movimiento.
$idmov = preg_replace('/[^0-9]+/','', $aNombre[4]);
$objMov = $gpa->get_movAutoId($idmov, $fecha);
$_SESSION['idPol'] = $objMov->id;
//Conformamos el nombre del fichro
$nameFile = $gpa->set_namefile($objMov->id_mov);

$path = "lib/gdriver/files/";
$nom = $path.$nombre;
$nom2 = $path.$nameFile.".".$ext;
rename($nom, $nom2);
//Extraemos el id de la empresa.
$obj = $emp->get_empresaNomId($aNombre[3]);
$fileid = $gpa->set_datagdrive($nameFile.".".$ext, $obj->id, $fecha);
$jdata['error'] = $fileid;
}
 
3  Programación / Desarrollo Web / Re: Problema con la geolocalización con la api de html 5 en: 28 Noviembre 2020, 00:43 am
Muchas gracias ya me quedo me da una diferencia de unos metros pero es aceptable
4  Programación / Desarrollo Web / Re: Problema con la geolocalización con la api de html 5 en: 28 Noviembre 2020, 00:34 am
Gracias por su respuesta lo pruebo y le comento.
5  Programación / Desarrollo Web / Problema con la geolocalización con la api de html 5 en: 27 Noviembre 2020, 23:18 pm
Hola, estoy usando la api de html5 para la geolocalización, lo que me esta sucediendo es que cuando accedo de distinto dispositivos de una misma red las coordenadas de longitud y latitud son distintas, dándome una diferencia de casi 10 km a continuación les dejo el código para ver si me pueden ayudar.

Gracias   

Código:
navigator.geolocation.getCurrentPosition(showPosition);

function showPosition(position) {
var lat = position.coords.latitude;
var log = position.coords.longitude;
$("input#idlat").val(lat);
$("input#idlog").val(log);
}
6  Programación / Desarrollo Web / Re: [Pregunta]: ¿Cómo agregar una nueva versión siendo esta ya visible para todos? en: 24 Noviembre 2020, 04:23 am
Hola buenas noche, si quieres evitar borrar la cache cada vez que modifiques tu código javascript, solo tienes que agregar esto ?n=100 el número 100 lo vas rotando como si fuere una nueva versión de tu fichero:

Gracias

Ejemplo:

Código:
<script src="nombre_del_script.js?n=100"></script>
7  Programación / PHP / Re: Problema con la carga de fichero csv en: 18 Noviembre 2020, 18:54 pm
Hola muchas gracias por contestar pruebo y le comento
8  Programación / PHP / Problema con la carga de fichero csv en: 18 Noviembre 2020, 17:04 pm
Hola, tengo la siguiente situación. Estoy subiendo un fichero a mi servidor .csv de 15000 registro, separados por coma., El procesos de insertar los datos en la base de datos, lo estoy haciendo con insert en grupos de 100 para agilizar el proceso de la carga del fichero. Durante el proceso de conformación del mi query insert hago varias consultas a la base de datos. El problema que estoy teniendo es el siguiente: en mi servidor de desarrollo local que es un XAMPP con php 7.2 y mariadb ejecutando sobre linux mint se me demora 30 min pero en mi servidor online que es una vps con debian 10 php 7.2 y mariadb se puede demorar hasta 3 horas, provocándome errores a la hora de realizar el insert, que se traducen en valores que se muestran en cero o vacíos.

Mi pregunta es la siguiente como puedo ver la causa de la demora el el servidor ya que no me arroja ningún error ni en pantalla ni en los log.

Gracias

Código:
//Funcion para importar los pagos.
    public function set_importpaymet($files)
    {
        $idinsured = input_post('insured');
        $fecha = fecha_format(input_post('fecha'), "m-d-Y");
        $i = 1;
        $a_fecha = explode("-", input_post('fecha'));
        $mes = $a_fecha[0];
        $year = $a_fecha[2];
        $aPos = $_POST['campodata'];
        //Posision de los campos.
        $ia = ($aPos[0] != 0) ? $aPos[0] - 1 : '';
        $ic = ($aPos[1] != 0) ? $aPos[1] - 1 : '';
        $icl = ($aPos[2] != 0) ? $aPos[2] - 1 : '';
        $is = ($aPos[3] != 0) ? $aPos[3] - 1 : '';
        $ip = ($aPos[4] != 0) ? $aPos[4] - 1 : '';
        $ie = ($aPos[5] != 0) ? $aPos[5] - 1 : '';
        $imth = ($aPos[6] != 0) ? $aPos[6] - 1 : '';
        $im = ($aPos[7] != 0) ? $aPos[7] - 1 : '';
        $ir = ($aPos[8] != 0) ? $aPos[8] - 1 : '';
        $ico = ($aPos[9] != 0) ? $aPos[9] - 1 : '';
        $inr = ($aPos[10] != 0) ? $aPos[10] - 1 : '';
        $icd = ($aPos[11] != 0) ? $aPos[11] - 1 : '';
 
        switch ($mes) {
            case '01':
                $cmes = 'january';
                break;
            case '02':
                $cmes = 'february';
                break;
            case '03':
                $cmes = 'march';
                break;
            case '04':
                $cmes = 'april';
                break;
            case '05':
                $cmes = 'may';
                break;
            case '06':
                $cmes = 'june';
                break;
            case '07':
                $cmes = 'july';
                break;
            case '08':
                $cmes = 'august';
                break;
            case '09':
                $cmes = 'september';
                break;
            case '10':
                $cmes = 'october';
                break;
            case '11':
                $cmes = 'november';
                break;
            case '12':
                $cmes = 'dicember';
                break;
        }
        $numLineas = (count(file("storage/" . $files))) / 100;
 
        if (!is_int($numLineas)) {
            $numLineas = intval($numLineas) + 1;
        }
        $Resto = (count(file("storage/" . $files))) % 100;
        //Comensamos a procesar el fichero.
        $v = 1;
        $c = 1;
        $cil = 1;
        if (($gestor = fopen("storage/" . $files, "r")) !== false) {
            while (($datos = fgetcsv($gestor, 1000, ",")) == true) {
                if ($c != 1) {
 
                    if ($v == 100 and $cil <= $numLineas) {
                        $campos = "(npn,month,subcriberid,member,fecha,id_incured,effectivedate,procedado,class,com_paym)";
                        $valores = substr($valores, 0, -1);
                        $q = $this->db->multi_query("INSERT INTO tabla2" . $campos . " VALUES " . $valores);
                        if (!$q) {
                            echo "INSERT INTO tabla2 " . $campos . " VALUES " . $valores . "<br />";
                            printf("Error en ejecución: %s\n", $this->db->error);
                        }
                        $campos1 = "(a_number,c_name,p_state,p_number,e_date,month,pyear,n_member,rate,commission,new_ren,id_insured)";
                        $valores1 = substr($valores1, 0, -1);
                        $q1 = $this->db->multi_query("INSERT INTO tabla1" . $campos1 . " VALUES " . $valores1);
                        if (!$q1) {
                            echo "INSERT INTO tabla1 " . $campos1 . " VALUES " . $valores1 . "<br />";
                            printf("Error en ejecución: %s\n", $this->db->error);
                        }
                        $valores = '';
                        $valores1 = '';
                        $cil++;
                        $v = 0;
                    }
                    //Proceamos el nombre para el caso que venga invertido.
                    if (strpos($datos[$ic], ',')) {
                        $aName = explode(",", $datos[$ic]);
                        $clientName = $aName[1] . " " . $aName[0];
                    } else {
                        $apellido = $datos[$icl];
                        $clientName = $datos[$ic] . " " . $apellido;
                    }
                    unset($com);
                    $pos = strpos($datos[$ip], "-");
                    if ($idinsured == 1) {
                        $aSub = explode("-", $datos[$ip]);
                        $subId = $aSub[1];
                    } else {
                        $subId = trim($datos[$ip]);
                    }
                    //$subId = str_replace("FL-","",trim($datos[$ip]));
                    //Definimos el formato de la fecha
                    $fechaFile = fecha_format(str_replace("/", "-", $datos[$ie]), "m-d-Y");
 
                    //Insertamos los gagos para el bob list de amberer.
                    $comision = str_replace(array("$"), "", $datos[$ico]);
 
                    $valores1 .= "(";
                    $valores1 .= "'" . addslashes($datos[$ia]) . "',";
                    $valores1 .= "'" . addslashes($clientName) . "',";
                    $valores1 .= "'" . addslashes($datos[$is]) . "',";
                    $valores1 .= "'" . addslashes($subId) . "',";
                    $valores1 .= "'" . addslashes($fechaFile) . "',";
                    $valores1 .= "'" . $mes . "',";
                    $valores1 .= "'" . $year . "',";
                    $valores1 .= "'" . intval($datos[$im]) . "',";
                    $valores1 .= "'" . addslashes(str_replace(array("$"), "", $datos[$ir])) . "',";
                    $valores1 .= "'" . floatval($comision) . "',";
                    $valores1 .= "'" . addslashes($datos[$inr]) . "',";
                    $valores1 .= "'" . $idinsured . "'";
                    $valores1 .= "),";
 
                        $q = $this->db->query("SELECT id, id_agent FROM `tabla5` WHERE suscriberid = '" . $subId . "'  AND id_insured = '" . $idinsured . "' AND SUBSTRING(aplication_date, 1, 4) = '" . $year . "' AND  borrado <> 1 AND pending <> 1 ");
 
                    //Comprobamos a quien pertenece el pago y la comicion del agente por subcriber o nombre.
                    if ($q->num_rows == 1) {
                        $obj = $q->fetch_object();
                        //Traemos el valor de la comision que se le va pagar por agent.
                        $qac = $this->db->query("SELECT comm_new, comm_rew FROM tabla4 WHERE id_agent = '" . $obj->id_agent . "' AND id_insured = '" . $idinsured . "' AND yearcom = '" . $year . "' ");
                        if ($qac->num_rows > 0) {
                            $obj_cag = $qac->fetch_object();
                            //Calculamos la comision para insertar el valor en la tabla de pagos.
                            if ($datos[$inr] == 'OEP') {
                                $com = $obj_cag->comm_new * intval($datos[$im]);
                            } else {
                                $com = $obj_cag->comm_rew * intval($datos[$im]);
                            }
                            //Comprovamos si el usuario ya tiene pago
                            $qc = $this->db->query("SELECT ". $cmes . " FROM tabla3 WHERE id_client = '" . $obj->id . "' AND fecha = '" . $year . "'");
                            if ($qc->num_rows > 0) {
 
                                $obj_cmes = $qc->fetch_object();
                                $comp = $com + $obj_cmes->$cmes;
                                //Insertamos el registro procesado en la tabla registro.
                                $valores .= "(";
                                $valores .= "'" . addslashes($datos[$ia]) . "',";
                                $valores .= "'" . addslashes($datos[$imth]) . "',";
                                $valores .= "'" . $subId . "',";
                                $valores .= "'" . addslashes($datos[$im]) . "',";
                                $valores .= "'" . addslashes($fecha) . "',";
                                $valores .= "'" . $idinsured . "',";
                                $valores .= "'" . addslashes($fechaFile) . "',";
                                $valores .= "'1',";
                                $valores .= "'" . addslashes($datos[$inr]) . "',";
                                $valores .= "'" . $com . "'";
                                $valores .= "),";
                                //Insertamos los datos en la tabla de pagos al  mes que coresponde.
                                classDb::update_db(tabla3, array($cmes => $comp), array('id_agent' => $obj->id_agent, 'id_client' => $obj->id, 'fecha' => $year));
                            } else {
 
                                //Insertamos el registro procesado en la tabla registro.
                                $valores .= "(";
                                $valores .= "'" . addslashes($datos[$ia]) . "',";
                                $valores .= "'" . addslashes($datos[$imth]) . "',";
                                $valores .= "'" . $subId . "',";
                                $valores .= "'" . addslashes($datos[$im]) . "',";
                                $valores .= "'" . addslashes($fecha) . "',";
                                $valores .= "'" . $idinsured . "',";
                                $valores .= "'" . addslashes($fechaFile) . "',";
                                $valores .= "'0',";
                                $valores .= "'" . addslashes($datos[$inr]) . "',";
                                $valores .= "'0'";
                                $valores .= "),";
                            }
                            $qc->free();
                        } else {
 
                            //Insertamos el registro procesado en la tabla registro.
                            $valores .= "(";
                            $valores .= "'" . addslashes($datos[$ia]) . "',";
                            $valores .= "'" . addslashes($datos[$imth]) . "',";
                            $valores .= "'" . $subId . "',";
                            $valores .= "'" . addslashes($datos[$im]) . "',";
                            $valores .= "'" . addslashes($fecha) . "',";
                            $valores .= "'" . $idinsured . "',";
                            $valores .= "'" . addslashes($fechaFile) . "',";
                            $valores .= "'0',";
                            $valores .= "'" . addslashes($datos[$inr]) . "',";
                            $valores .= "'0'";
                            $valores .= "),";
                        }
                        $qac->free();
                    } else {
 
                        //Insertamos el registro procesado en la tabla registro.
                        $valores .= "(";
                        $valores .= "'" . addslashes($datos[$ia]) . "',";
                        $valores .= "'" . addslashes($datos[$imth]) . "',";
                        $valores .= "'" . $subId . "',";
                        $valores .= "'" . addslashes($datos[$im]) . "',";
                        $valores .= "'" . addslashes($fecha) . "',";
                        $valores .= "'" . $idinsured . "',";
                        $valores .= "'" . addslashes($fechaFile) . "',";
                        $valores .= "'0',";
                        $valores .= "'" . addslashes($datos[$inr]) . "',";
                        $valores .= "'0'";
                        $valores .= "),";
                    }
                    $q->free();
 
                    if (($v == $Resto) and ($cil == $numLineas) and ($Resto != 0)) {
                        $campos = "(npn,month,subcriberid,member,fecha,id_incured,effectivedate,procedado,class,com_paym)";
                        $valores = substr($valores, 0, -1);
                        $q = $this->db->multi_query("INSERT INTO tabla1 " . $campos . " VALUES " . $valores);
 
                        if (!$q) {
                            echo "INSERT INTO tabla1 " . $campos . " VALUES " . $valores . "<br />";
                            printf("Error en ejecución: %s\n", $this->db->error);
                        }
 
                        $campos1 = "(a_number,c_name,p_state,p_number,e_date,month,pyear,n_member,rate,commission,new_ren,id_insured)";
                        $valores1 = substr($valores1, 0, -1);
 
                        $q1 = $this->db->multi_query("INSERT INTO tabla2 " . $campos1 . " VALUES " . $valores1);
 
                        if (!$q1) {
                            echo "INSERT INTO tabla2 " . $campos1 . " VALUES " . $valores1 . "<br />";
                            printf("Error en ejecución: %s\n", $this->db->error);
                        }
                        unset($valores);
                        unset($valores1);
                        $v = 0;
                    }
                }
                $v++;
                $c++;
            }
        }
    }
9  Programación / PHP / Como procesar dos consulta en un while pero que muestren las que no están en: 16 Julio 2020, 01:11 am
Tengo la siguiente situación: estoy usando dos consultas que responde a una misma relación pero la condición del Where es distinta. El resultado de estas dos consultas lo tengo que mostrar en una sola tabla, por lo que estoy ejecutando las dos consultas dentro de un while y uniendo los dos array con un array_marge().

El problema se me esta presentado cuando muestro los registro, ya que una consulta me devuelve más que la otra y solo se me muestra hasta la cantidad de registros menor y lo que necesito es que siempre se me muestren todos los registros por la consulta que más tenga. A continuación les dejo el código para ver si me pueden ayudar.

Gracias.

Código:
$query = $this->db->query("SELECT reporte_nomnia.*,
(SELECT CONCAT(`tipo_asist`.`nombre_cor`,' ',`tipo_asist`.`nombre`) FROM `tipo_asist` WHERE `tipo_asist`.`idempresa` = `reporte_nomnia`.`idempresa`  AND `tipo_asist`.`nombre_cor` = `reporte_nomnia`.`concepto`) AS codigo,
(SELECT COUNT(`asistencia`.`id`)  FROM asistencia INNER JOIN empleado ON asistencia.id_empl = empleado.id_empl INNER JOIN tipo_asist ON asistencia.id_tipoasist = tipo_asist.id WHERE `tipo_asist`.`nombre_cor` = `reporte_nomnia`.`concepto`  AND empleado.id_empl = `reporte_nomnia`.`idempleado` AND fecha_ent >= `periodo`.`fecha_inicio` AND fecha_ent <= `periodo`.`fecha_final`  GROUP bY `empleado`.`id_empl` ) As relojdias,
CONCAT(`empleado`.`nombre`,' ', `empleado`.`apellidos`) AS nomb
FROM reporte_nomnia INNER JOIN `empleado` ON `empleado`.`id_empl` = `reporte_nomnia`.`idempleado` INNER JOIN `periodo` ON `periodo`.`id` = `reporte_nomnia`.`idperiodo` WHERE 1 " . $search . $ordenby . " LIMIT " . $init . "," . $reg . "");
$query2 = $this->db->query("SELECT reporte_nomnia.dh AS dh2,reporte_nomnia.importe AS importe2
FROM reporte_nomnia INNER JOIN `empleado` ON `empleado`.`id_empl` = `reporte_nomnia`.`idempleado` INNER JOIN `periodo` ON `periodo`.`id` = `reporte_nomnia`.`idperiodo` WHERE 1 " . $search2 . $ordenby . " LIMIT " . $init . "," . $reg . "");

while ($list = $query->fetch_assoc() and $list2 = $query2->fetch_assoc()) {
$this->aplicacion[] = array_merge($list, $list2);
}
return $this->aplicacion;
10  Programación / PHP / Re: Fichero pdf en blanco en google chrome en: 6 Julio 2020, 20:49 pm
Hola a todos, aquí les dejo la solución a este problema que tenia con la generación del pdf en el google chrome. El problema estaba en la forma que esta generando los locate con este método de php setlocale(LC_ALL, "es_MX")  por alguna extraña razón no me estaba respetando el "es_MX" por lo que tuve que hacer el cambio a "es_ES" quedándome así el método al final  setlocale(LC_ALL, "es_ES")  .

Gracias a todos
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines