ssh2_sftp ssh2_scp_send ssh2_connect ftp_ssl_connect ejemplo php sftp

php - ssh2_scp_send - ssh2_connect



Cómo SFTP con PHP? (4)

He encontrado muchos scripts PHP para clientes web FTP. Necesito implementar un cliente SFTP como una aplicación web en PHP. ¿PHP es compatible con SFTP? No pude encontrar muestras Puede alguien ayudarme con esto?


Descubrí que "phpseclib" debería ayudarte con esto (SFTP y muchas más características). http://phpseclib.sourceforge.net/

Para colocar el archivo en el servidor, simplemente llame (Ejemplo de código desde http://phpseclib.sourceforge.net/sftp/examples.html#put )

<?php include(''Net/SFTP.php''); $sftp = new Net_SFTP(''www.domain.tld''); if (!$sftp->login(''username'', ''password'')) { exit(''Login Failed''); } // puts a three-byte file named filename.remote on the SFTP server $sftp->put(''filename.remote'', ''xxx''); // puts an x-byte file named filename.remote on the SFTP server, // where x is the size of filename.local $sftp->put(''filename.remote'', ''filename.local'', NET_SFTP_LOCAL_FILE);



sftp una sftp system completa y escribí una clase que crea un archivo por lotes y luego llama a sftp través de una llamada al system . No es la manera más agradable (o más rápida) de hacerlo, pero funciona para lo que necesito y no requiere ninguna instalación de bibliotecas adicionales o extensiones en PHP.

Podría ser el camino a seguir si no quieres usar las extensiones ssh2


PHP tiene envolturas de flujo ssh2 (deshabilitadas de forma predeterminada), por lo que puede usar conexiones sftp con cualquier función que admita contenedoras de flujo utilizando ssh2.sftp:// para el protocolo, por ejemplo

file_get_contents(''ssh2.sftp://user:[email protected]:22/path/to/filename'');

o - cuando también usa la extensión ssh2

$connection = ssh2_connect(''shell.example.com'', 22); ssh2_auth_password($connection, ''username'', ''password''); $sftp = ssh2_sftp($connection); $stream = fopen("ssh2.sftp://$sftp/path/to/file", ''r'');

Ver http://php.net/manual/en/wrappers.ssh2.php

En una nota al margen, ya hay bastantes preguntas sobre este tema:

  • https://.com/search?q=sftp+php