martes, 28 de febrero de 2017

Crear, escribir y leer archivo de texto (.txt) con PHP

A continuación un script de PHP que crea un fichero de texto y otro que lo lee. Esto es útil cuando necesitamos guardar datos simples de algún formulario y no queremos hacer ni configurar ninguna base de datos MySQL.

1. Script PHP que crea un archivo de texto (*.txt):

$arch = fopen("archivo.txt", "w");              //abre archivo.txt modo w (write)
fwrite($arch, "Texto de ejemplo 1" . PHP_EOL);  //escribe la línea
fwrite($arch, "Otra línea extra" . PHP_EOL);    //escribe una segunda línea
fclose($arch);                                  //cerramos archivo.txt

¡Ojo! El modo fopen("archivo.txt","w") elimina el contenido que tenía anteriormente y lo sustituye por el nuevo. Si lo que queremos es añadir texto nuevo al contenido hay que abrir en modo "a", es decir, fopen("archivo.txt","a"). De esa manera el archivo será un archivo que se abre, se añade contenido nuevo, y se cierra.


2. Script PHP que lee de un archivo de texto.

$arch = fopen("archivo.txt", "r");  //abre archivo.txt
while(!feof($arch)) {               //saca todas las lineas 
echo fgets($arch);        
}
fclose($arch);                      //cierra archivo.txt                           

Evidentemente, podemos hacer un formulario con HTML y registrar los datos en fichero de texto. Recogemos con variables PHP del formulario y después lo introducimos en el fichero de texto.

¡Ánimo, hay que tener un poco de imaginación, que no nos lo van a dar todo cocinado!

Un saludo.

lunes, 30 de enero de 2017

Crear script con Visual Basic para abrir lector de CD

En ocasiones el pequeño botón que sirve para abrir el lector de CD/DVD de nuestro ordenador deja de funcionar, puede ser que para siempre o puede ser que en ciertas sesiones. Como método para aguantar un tiempo mas sin tener que cambiar el lector entero podemos hacer el siguiente script con Visual Basic, e cual guardaremos con extensión de archivo .vbs habiéndolo editado con el Bloc de notas o Notepad++ o cualquier otro editor:
Set oWMP = CreateObject("WMPlayer.OCX.7" ) 
Set colCDROMs = oWMP.cdromCollection 
colCDROMs.Item(i).Eject 

Sin nos ponemos tiquismiquis, guardamos el archivo en una carpeta cualquiera y desde el escritorio creamos un acceso directo, al cual luego en Propiedades > Cambiar icono le ponemos un icono mas apropiado.

Un salud.

jueves, 22 de diciembre de 2016

Hacer ping con HTML y JavaScript

Navegando en internet en encontrado extractos de código HTML y JAVASCRIPT para hacer una aplicación que hace ping (como en la consola de comandos /CMD)  a una IP, un nombre de equipo (Hostname) o a una URL. Lo he modificado para que parezca mas una consola de comandos y le he cambiado algo de código a mi gusto, además de ponerlo en español.

>> MIRA EL EJEMPLO <<

1. Este es el código HTML
<html>
<head>
<script>

 //código javascript

</script>
</head>
<body>
<div id="cuerpo">
<p><br/> Introduce una IP, nombre de equipo o URL.
</p>
<form id="direccion">
  <input type="text" id="ip" value=""/>
  <input type="button" value="Ping" onClick="comprobar()"/>
</form>
<div id="result"></div>
</div>
</body>
</html>

2. Este es el código JAVASCRIPT
function comprobar(){
 if(document.getElementById('ip').value == "" || document.getElementById('ip').value.length == 0){
  alert("Introduce IP/HOSTNAME/URL.");
  document.getElementById('ip').focus;
 }else{ http_ping() }
}
function http_ping() {

var fqdn = document.getElementById('ip').value;
var NB_ITERATIONS = 4; // numero de loops
var MAX_ITERATIONS = 5; // XMLHttpRequest esta limitado según el navegador
var TIME_PERIOD = 1000; // 1000 ms entre cada ping
var i = 0;
var over_flag = 0;
var time_cumul = 0;
var REQUEST_TIMEOUT = 9000;
var TIMEOUT_ERROR = 0;

document.getElementById('result').innerHTML = " Haciendo ping a " + fqdn + " con 32 bytes de datos:";

var ping_loop = setInterval(function() {


        // para evitar URLs inexistentes
        url = "http://" + fqdn + "/a30Fkezt_77" + Math.random().toString(36).substring(7);

        if (i < MAX_ITERATIONS) {

            var ping = new XMLHttpRequest();

            i++;
            ping.seq = i;
            over_flag++;

            ping.date1 = Date.now();

            ping.timeout = REQUEST_TIMEOUT; 

            ping.onreadystatechange = function() { 

                if (ping.readyState == 4 && TIMEOUT_ERROR == 0) {

                    over_flag--;
 
                    if (ping.seq > 1) {
                        delta_time = Date.now() - ping.date1;
                        time_cumul += delta_time;
                        document.getElementById('result').innerHTML += " Respuesta desde " + fqdn + "  bytes=32 secuencia_http=" + (ping.seq-1) + " tiempo=" + delta_time + " ms";
                    }
                }
            }


            ping.ontimeout = function() {
                TIMEOUT_ERROR = 1;
            }

            ping.open("GET", url, true);
            ping.send();

        }

        if ((i > NB_ITERATIONS) && (over_flag < 1)) { 

            clearInterval(ping_loop);
            var avg_time = Math.round(time_cumul / (i - 1));
     
            document.getElementById('result').innerHTML += "  Estadísticas de ping para " + fqdn + ":    Paquetes: enviados = " + (i-1) + ", recibidos = " + (i-1) + ", perdidos = 0 
    Tiempo aproximado de ida y vuelta en milisegundos: " + avg_time + "ms ";
     alert(tiempoTotal);

        }

        if (TIMEOUT_ERROR == 1) { 

            clearInterval(ping_loop);
            document.getElementById('result').innerHTML += "
 Respuesta desde " + fqdn + ": Host de destino inaccesible. 
";
            return;

        }

    }, TIME_PERIOD);
}

Un saludo.

lunes, 12 de diciembre de 2016

Deshabilitar click derecho del ratón en tu web

Simplemente para deshabilitar el click derecho o botón derecho del ratón en tu página web (aunque no es recomendable puesto que puede molestar al visitante) solo hay que poner este código de javascript en un script:
<script>
document.addEventListener('contextmenu', event => event.preventDefault());
</script>
Espero que os sirva. Un saludo.

jueves, 17 de noviembre de 2016

Cambiar nombre del equipo (hostname) en Ubuntu, Linux Mint, Opensuse, Fedora...

A continuación os dejo una entrada para cambiar sencillamente el nombre del equipo o hostname en distribuciones Linux.

Para Ubuntu (+derivados) y Linux Mint:

1. Abrir Terminal en menú o presionar Ctrl+Alt+T.

2. Escribir:
sudo pico /etc/hosts
(si pide contraseña sudo escribir y presionar enter).

3. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

4. Hay que sustituir donde pone linux o tu nombre de equipo por el nombre que quieras.

5. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

6. Escribir:
sudo pico /etc/hostname
(presionar enter).

7. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

8. Hay que sustituir donde pone linux o tu nombre de quipo por el nombre que has puesto antes en el archivos hosts (el nuevo nombre).

9. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

10. Finalmente hay que hacer un reinicio:
sudo reboot



Para cambiar el nombre de equipo de otras distribuciones os dejo varios enlaces que personalmente he verificado:

1. OpenSUSE: http://ubunlog.com/cambiando-el-nombre-del-equipo-en-opensuse/
2. Fedora: http://geekland.eu/que-es-para-que-sirve-nombre-del-equipo/
3. RedHat: http://k4ch0.org/cambiar-hostname-en-red-hat/
4. CentOS: http://www.cadilinea.com/blog/centos-2/cambiar-nombre-del-host-sin-reiniciar-en-centos-6-4/

Generalmente en casi todas las distribuciones es parecidos.
Un saludo.