smb4php es un "stream wrapper" para acceder de forma transparente a archivos y carpetas compartidas por un servidor SMB (un Windows, por ejemplo) desde PHP. Se pueden utilizar las funciones fopen, fclose, fwrite, fgets, opendir, readdir, unlink, etc. con tan solo utilizar una URL que comience por "smb://".
Antes de nada: necesitas tener 'smbclient' instalado en el sistema. Al incluir 'smb.php' desde tu script se registrará un nuevo stream wrapper 'smb', y tu programa podrá:
- ver recursos compartidos utilizando opendir('smb://usuario:clave@servidor')
- ver los archivos de una carpeta con opendir('smb://usuario:clave@servidor/recurso/ruta')
- leer archivos con fopen('smb://usuario:clave@servidor/recurso/ruta/archivo.ext', 'r')
- escribir archivos con fopen('smb://usuario:clave@servidor/recurso/ruta/archivo.ext', 'w')
- y otras functiones: is_dir, fstat, rename, unlink.... etc
Atencion: si se utiliza un usuario del dominio Windows, debes utilizar "dominio%3Busuario" en lugar de "usuario" (%3B es el código url de ';')
Cambios:- 20071115: 0.8 - Error en 'url_stat' corregido gracias a Eric Leung.
- 20071022: 0.7 - Mayor seguridad con un nuevo modo de autenticación para smbclient 'env'. Opciones optimizadas para 'smbclient'.
- 20071008: 0.6 - Mas modos de apertura de archivos soportados (a,a+,w+,r+,x,x+). Ahora funcionan file_get_contents y file_put_contents
- 20071002: 0.5 - Cache de contenidos de directorio para mejorar el rendimiento
- 20070928: 0.4 - Soporte de PHP4.3 y subida de archivo al servidor solo cuando es necesario
- 20070924: 0.3 - Posibilidad de conectar por otro puerto distinto del 139
- 20070918: 0.2 - Cache de propiedades de archivo para mejorar el rendimiento
- 20070916: 0.1 - Version inicial
- 20071101: Queda en el puesto 8 del Premio a la Innovacion de PHPClasses del mes de Septiembre
- 20071019: Truco en PHPBuilder
- 20071018: "In the News" de International PHP Magazine
- 20071002: Nominado por PHP Classes al "Premio a la Innovacion".
- 20070918: Cesar D. Rodas escribe en su blog sobre smb4php.
1 #:
For god´s sake!
Publicar un comentario