Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Server FTP en PHP

14 réponses
Avatar
Etienne SOBOLE
salut.

j'aimerai réaliser un serveur FTP en PHP.
y a t-il quelqu'un qui a deja vu des sources sur ce sujet?

merci
Etienne

10 réponses

1 2
Avatar
BZP
C'est assez bien documenté sur :
http://fr.php.net/manual/en/ref.ftp.php .

Exemple de code tiré de la page :
<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user
$ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file,
FTP_BINARY);

// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as
$destination_file";
}

// close the FTP stream
ftp_close($conn_id);
?>
Avatar
Marc
C'est assez bien documenté sur :
http://fr.php.net/manual/en/ref.ftp.php .


...

// close the FTP stream
ftp_close($conn_id);
?>


ici c'est le client, pas le serveur ;-)

Avatar
bruno modulix
Etienne SOBOLE wrote:
j'aimerai réaliser un serveur FTP en PHP.


Question con: pourquoi faire ?

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
Marc

j'aimerai réaliser un serveur FTP en PHP.
y a t-il quelqu'un qui a deja vu des sources sur ce sujet?


sur Pear, j'ai vu un serveur Webdav et un serveur Web, pas de serveur
ftp.

http://pear.php.net/search.php?q=server&in=packages&x=0&y=0

en espérant que ca aide ;-)

Avatar
Etienne SOBOLE
Question con: pourquoi faire ?


c'etait sur que quelqu'un allait me poser la question.
et bien voila:

j'ai un extranet qui géré une GED.
les fichiers posés respectent des droits (qui n'ont rien a voir avec ceux de
linux) des utilisateurs de l'extranet.

donc j'aimerai faire un serveur FTP qui prenne comme identifiant et mot de
passe l'id et le pass d'un membre de l'extranet et qui lui propose
uniquement les fichiers qu'il a le droit de voir.

donc il faut que je me tape un serveur FTP...
je vais sans doute le mettre en open source comme ca si ca peut servir a
quelqu'un.

voila
Etienne

Avatar
Marc Quinton
Etienne SOBOLE wrote:

donc il faut que je me tape un serveur FTP...
je vais sans doute le mettre en open source comme ca si ca peut servir a
quelqu'un.


il y a deja nanoftp qui est en open source, codé OO et assez bien fait.
il n'a pas evolué depuis bien longtemps, mais ca devrait etre reprennable.

PS: mon message (hier) a ce sujet est pas passé.

Avatar
Marc Quinton
je corrige mon precedent post, il s'agit de nanoftpd :

http://nanoftpd.sourceforge.net/
Avatar
bruno modulix
Etienne SOBOLE wrote:
Question con: pourquoi faire ?


c'etait sur que quelqu'un allait me poser la question.


Bin, ui, ya toujours un con de service !-)

'fin bon, c'est surtout histoire de t'éviter de réinventer la roue
carrée le cas échéant...


j'ai un extranet qui géré une GED.
les fichiers posés respectent des droits (qui n'ont rien a voir avec ceux de
linux) des utilisateurs de l'extranet.

donc j'aimerai faire un serveur FTP qui prenne comme identifiant et mot de
passe l'id et le pass d'un membre de l'extranet et qui lui propose
uniquement les fichiers qu'il a le droit de voir.


Certes, mais cela implique t'il nécessairement que:

donc il faut que je me tape un serveur FTP...


T'es-tu renseigné pour savoir s'il n'existait pas un serveur FTP
existant capable de supporter un système de gestion des droits externe ?
Allez, je te donne l'adresse :

http://www.proftpd.org


--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"


Avatar
Etienne SOBOLE
http://nanoftpd.sourceforge.net/


super ;)
vais m'en inspirer...

merci beaucoup...
Etienne

Avatar
Etienne SOBOLE
http://www.proftpd.org


donc d'apres toi:
avec proFTPd je vais pouvoir :
- utiliser un fichier pour y stocker les user/password (je passe sur le
format, si faut que je le mette en forme ca ira)
- lire des fichers du HD en fonction de droit qui ne sont pas linux

Exemple:
j'ai un fichier toto.txt qui contient un texte et qui se trouve dans un
repertoire /rep
j'ai un fichier toto.pol (dans un autre répertoire) qui contient:
user1:rmdx
user2:r---
user3:rm--

avec r pour read
m pour modify
d pour delete
et x pour download (c'est une ged)

donc avec proftp, je vais pouvoir me connecter en tant que user1 (qui n'est
pas un user linux)
lire le fichier toto.pol qui contient les droits
et renvoyer le fichier toto.txt seulement si le caractère R est allumé dans
le fichier des droits?

Si on peut faire tout ca, c'est cool,
sinon ben je retourne a mon serveur FTP en php!!!

Etienne

1 2