tuxito    B U L M A   PDA    tuxito

Enviar sms con php via web  [81387, 51]

Por (jomasanz3) el 26/09/2005 09:28 modificado el 26/09/2005 09:28

Os presento un pequeño script en php que he montado para solucionar una necesidad que tenia.
La idea era recuperar el envio de sms via web que antes existia y que se podia hacer enviando un mail
a num_telf@operadora.com y que ahora no es posible.

Página 1/1
El problema es que ahora para enviar un sms o bien vas directamente a la web de la operadora de movil
y te registras, o lo envias desde el móvil mismo, o usas algun programa de los muchos que hay para enviar mensajes a moviles, los cuales funcionan como funcionan, si es que funcionan.
En vista de que ninguna de las soluciones me satisfacía, pues una vez mas me puse a pensar como podia solucionar el tema.
Lo que os presento es un pequeño script en php ( 4 lineas) que permiten enviar un sms via web a un teléfono dado.
Para ello, es necesario disponer de un teléfono móvil conectado a nuestro pc mediante gnokii, al menos ese es mi caso. Si quereis saber como conectarlo aquí teneis el articulo completo. Para nuestro script solo es necesario que este instalado y funcionando el movil.
Ya se que me direis que hay incluso un front-end para gnokii, que permite administrar el movil, los mensajes, la agenda... pero lo que yo necesitaba es que toda la gente de la empresa tuviera acceso a la posiblidad de enviar sms via web mediante un simple formulario, sin necesidad de instalar nada y desde cualquier ordenador y sistema operativo. Lo que presento es solo una solución a mi problema concreto
Bueno, pues aquí va el script:
//INICIO DEL SCRIPT PHP
$fp=$fp = fopen("temp.txt","w+"); 
// creamos y preparamos el fichero fwrite($fp, $mensaje, 26);
// escribimos dentro el contenido de la variable $mensaje, que es un campo de texto de un formulario
fclose($fp);
//cerramos el fichero
system('cat temp.txt |gnokii --sendsms $numero'.escapeshellarg($numero));
// llamada al sistema para ejecutar gnokii con el contenido del fichero temp.txt. // escapellarg($numero) es una funcion php que recoge el contenido de un formulario en la variable $numero, // y lo pasa como argumento a un comando
?//FIN DEL SCRIPT PHP
Y nada más, eso es todo.
Este script dentro un formulario con un par de campos nos permite enviar un sms al movil que queramos.
El coste del sms es evidentemente el del envio desde el móvil, pero si buscamos seguro que encontramos una tarifa que nos permita en envio por un precio razonable.

 

Comentarios


1.  Re: Enviar sms con php via web (26/09/2005 11:07)
  Por: Anónimo

en arsys.es hay unas librerias para estos envios http://www.arsys.es/soporte/programacion/sms.htm


2.  Re: Enviar sms con php via web (26/09/2005 11:17)
  Por: Paco Ros

Fíjate bien porque puedes tener serios problemas de concurrencia.

Necesitas como mínimo un semáforo que dure el tiempo en el que necesitas escribir y leer el fichero.

Además, si sólo tienes un móvil, también necesitas que sólo se mande un mensaje a la vez.

Saludos.


3.  Re: Enviar sms con php via web (26/09/2005 11:28)
  Por: jomasanz3

Bueno, me he metido mas a fondo en el tema por dos cosas: primero somos 5 personas a las que le pueden enviar sms y segundo en formulario tiene un select con los telefónos de la gente ya predefinidos. Así que no creo q tenga problemas d concurrencia.
Pero el problema es cierto. Tendré que mirar de solucionarlo para incluir alguna corrección en el artículo.


4.  Re: Enviar sms con php via web (26/09/2005 12:43)
  Por: FrIkI

La meva pregunta és: "Per quin motiu guardes l'sms a un fitxer?"

T'estalviaries 3 de les 4 línies de codi si no ho desasis i part del problema de concurrència.

El que es podria fer, crec, és recuperar la resposta de gnokii. Si dona un error, llavors el podries desar a un fitxer dins un directori de "pendents" i programar el cron que vagi enviant els sms pendents o bé reintentar l'enviament passats uns segons.

La segona solució és la més senzilla, però recorda que els php s'executen com a màxim 30 segons (si no es canvien les opcions per defecte). Això provocaria perdre un missatge en cas de problemes a l'enviament: saldo, cobertura, bateria, ocupat, abast dels irda...

Sort!


5.  Re: Enviar sms con php via web (26/09/2005 12:54)
  Por: jomasanz3

Gracias por tu comentario.
¿Se te ocurre alguna forma de capturar los parametros del formulario sin guardarlo en un fichero temporal? La verdad es que como tu dices, me ahorraria 3 de las 4 lineas...
Se admiten sugerencias. ;)


6.  Re: Enviar sms con php via web (26/09/2005 13:47)
  Por: Anónimo

Se puede utilizar popen para lanzar el programa con un pipe en su entrada.

//INICIO DEL SCRIPT PHP

$fp=$fp = popen("/path/to/gnokii --sendsmd " . escapeshellarg($numero),"w");

// inyectamos el mensaje

fwrite($fp, $mensaje, 26);

pclose($fp);

?//FIN DEL SCRIPT PHP


7.  Re: Enviar sms con php via web (26/09/2005 15:16)
  Por: FrIkI

Prova amb:

system('echo '.escapeshellarg($mensaje).' | gnokii --sendsms '.escapeshellarg($numero));


8.  Re: Enviar sms con php via web (26/09/2005 15:51)
  Por: jomasanz3

Buenas de nuevo.
Lo dicho, gracias por el comentario.
Ya había probado una formula similar, pero siempre me daba errores de sintaxis con el escapesellarg, pero de la forma que me lo has dicho va perfecto.
Gracias por tu colaboración.Ahora el script se reduce a una sola linea.


9.  Re: Enviar sms con php via web (26/09/2005 16:36)
  Por: FrIkI

Ara et toca refer l'script eliminant els problemes de concurrència.

Et recoman capturar el resultat del gnokii i en cas d'error desar el mail a un fitxer (o base de dades, millor).

Periodicament (cada 5 minuts?), amb el cron, executes un script que envii (si pot) la coa de missatges pendents.

PS: Mira aquest comentari... pareix interessant: #28581 .


10.  Re: Enviar sms con php via web (28/09/2005 10:45)
  Por: Jolgon

Hola, yo para enviar mensajes cortos en mi aplicación uso esta plataforma: Altiria SMS. Si te pones en contacto con ellos en el formulario te envían la documentación y a mi me abrieron una cuenta de prueba. En la documentación tienen ejemplos en muchos lenguajes como PHP y que llaman a esta función definida: AltiriaSMS("34600111222,34600111333", "Texto de prueba") La url es: web sms altiria.com. Saludos


11.  Almacenar los sms en una bbdd (26/09/2005 15:55)
  Por: Anónimo

Podemos insertar los sms en una bbdd con gnokii-smsd-mysql


12.  Re: Enviar sms con php via web (19/02/2006 11:25)
  Por: Sabri

Hola a todos!!! Soy una estudiante de II y en la asignatura de entornos de usuario me han pedido que diseñe una aplicación para envío de sms a móviles. Mi profesor me ha comentado que podría servirme de una aplicación de envío de sms gratis que tiene la propia universidad, pero que como es una parte del proyecto que se escapa de la asignatura no sabría ayudarme. ¿¿¿ALGUIEN PODRÍA HACERLO??? GRACIAS.


13.  Re: Enviar sms con php via web (19/02/2006 18:15)
  Por: LorDuncan

Hola Sabri,

En http://smsmasivo.lleida.net/sdk.html?act=5&ini=1 tienes una libreria pa mandar sms desde tu propia web (PHP) tienes que registrarte pa poder mandar sms.

Suerte


14.  Re: Enviar sms con php via web (13/09/2006 04:31)
  Por: Ricardo

Hola a todos! Gracias por ponerse a pensar en soluciones para cada cosa. Ahora les vengo con un pedido a cualquiera de vosotros. Por fabor alguien me podria embiar el fichero PHP para enviar sms desde una paguina en html. Que trabaje de la siguiente manera (esto a modo de sujerencia)
// Que el formulario que tengo en form.html se envie a enviar.php y el enviar.php me mande el sms a mi telefono movil o a cualquier telefono movil sea cual sea...
------------------------------------------------------------------------
| form.html | ---> | enviar.php | ---> SMS --> Mobil
------------------------------------------------------------------------


15.  Re: Enviar sms con php via web (03/10/2006 21:58)
  Por: Ariel Pascuto

Sería apropiado indicar que sólo funciona para unos pocos modelos de Nokia.


16.  Re: Enviar sms con php via web (01/04/2007 21:24)
  Por: Anónimo

y gnokii no puede ser usado con un lg mg800 ??? ... me gustaria hacer esto, pero que el form sea en un servidor web ... donde tendria q instalar gnokii ?


17.  Re: Enviar sms con php via web (09/04/2007 15:55)
  Por: Raul Jurado

Me gustaria me comentases, si se puede hacer al contrario de enviar un sms desde el movil a la web, tal como ocurre en twitter.com


18.  Re: Enviar sms con php via web (13/04/2007 11:18)
  Por: ViR

Hola, acabo de dar con vuestro artículo.
Trabajo en el hospital de mi ciudad, en el dpto. de informática y se nos ha planteado la necesidad de enviar a los pacientes un recordatorio de su próxima cita 3 dias antes de que ocurra. Este servicio será contratado con Telefónica, pero estoy un poco perdida en la parte que yo tendre que desarrollar (comandos y demás). Trabajo en PHP.

Muchas gracias. Un saludo.


19.  Re: Enviar sms con php via web (05/05/2007 13:34)
  Por: Anónimo

hola, necesito un programa que envie mensajes de textos a uno o varios profesores desde una pagina web, y este codigo no lo entiendo mucho. como deberia proceder? para solucionar el problema. espero prota repuesta, hasta luego gracias