envoyer des fichiers sur mon ftp a partir de mes pages

Répondre
vengeur002
le 28/01/2006 à 11:10
vengeur002
Bonjour

Je voudrai donner la possibilite a mes membres d envoyer des fichiers sur mon ftp et que ces derniers soit mis en ligne automatiquement.

Lennui c est que je ne sais absolument pas comment faire

quelqu un pourrais t il m aiguiller?

merci d avance
zOy
le 28/01/2006 à 13:07
zOy
Je t'es fait un script ;)

Les étapes
1. Créer un dossier nommé "upload"
2. Créer un fichier en php3 nommé "upload" (PHP3 !!)


Exemple du script


upload.php3
<?php

// on charge les language des fichiers
function get_translations($lngfile) {

if (file_exists($lngfile)) {
$lines = file($lngfile);
while (list(,$line) = each($lines)) {
list($key,$val)= explode("=",$line);
$phrases[$key] = $val;
}
return $phrases;
} else {
return false;
}
}

function translate($str,$vals="") {

global $phrases;

if ($phrases) {
$p_str = $phrases[$str];
if ($p_str == "") {
$p_str = $str;
}
} else {
$p_str = $str;
}

if (gettype($vals)=="array") {
$p_str = sprintf($p_str,$vals[0],$vals[1],$vals[2],$vals[3],$vals[4],$vals[5],$vals[6]);
}

return (trim($p_str));
}

$my_max_file_size = "102400"; // le poids maximal de tes fichiers (en bytes)
$image_max_width = "800"; // largeur maximal (si image)
$image_max_height = "800"; // hauteur maximal (si image)
$the_path = "upload/"; // dossier où les fichiers seront uploadés

$registered_types = array( // fichiers admissibles
"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc (etc)",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla (etc)"
);

$allowed_types = array("image/bmp","image/gif","image/pjpeg","image/jpeg");


function form($error=false) {

global $PHP_SELF,$my_max_file_size,$lng;

if ($error) print $error . "<br><br>";

print "\n<form ENCTYPE=\"multipart/form-data\" action=\"upload.php3\" method=\"post\">";
print "\n<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $my_max_file_size . "\">";
print "\n<INPUT TYPE=\"hidden\" name=\"task\" value=\"upload\">";
print "\n<P>".translate("<b>Uploadez vos fichiers</b>")."";
print "\n<BR>IMPORTANT : ".translate("La taille maximal des fichiers est de")." " . ($my_max_file_size / 1024) . "KB";
print "\n<br><INPUT NAME=\"the_file\" TYPE=\"file\" SIZE=\"35\"><br>";
print "\n<input type=\"submit\" Value=\"Uploader\">";
print "\n</form>";

} // fin du formulaire


if (!ereg("^4",phpversion())) {
function in_array($needle,$haystack) {
for ($i=0; $i < count($haystack); $i++) {
if ($haystack[$i] == $needle) {
return true;
}
}
}
}


function validate_upload($the_file) {

global $my_max_file_size, $image_max_width, $image_max_height,$allowed_types,$the_file_type,$registered_types;

$start_error = "\n<b>Erreur !</b>\n<ul>";

if ($the_file == "Pas de fichiers") { // verification du contenu du dossier

$error .= "\n<li>Vous n'avez rien uploadé</li>";

} else { // on verifie si le fichier est dans la liste des fichiers admissibles

if (!in_array($the_file_type,$allowed_types)) {
$error .= "\n<li>Le fichier que vous tentez d\'uploader n'est pas un fichier conforme aux fichiers admissibles:\n<ul>";
while ($type = current($allowed_types)) {
$error .= "\n<li>" . $registered_types[$type] . " (" . $type . ")</li>";
next($allowed_types);
}
$error .= "\n</ul>";
}

if (ereg("image",$the_file_type) && (in_array($the_file_type,$allowed_types))) {

$size = GetImageSize($the_file);
list($foo,$width,$bar,$height) = explode("\"",$size[3]);

if ($width > $image_max_width) {
$error .= "\n<li>Votre image ne devrait pas être plus large que " . $image_max_width . " Pixels</li>";
}

if ($height > $image_max_height) {
$error .= "\n<li>Votre image ne devrait pas être plus grande que " . $image_max_height . " Pixels</li>";
}

}

if ($error) {
$error = $start_error . $error . "\n</ul>";
return $error;
} else {
return false;
}
}
}


function list_files() {

global $the_path;

$handle = dir($the_path);
print "\n<b>Les fichiers uploadés : <i></b>(pensez à copier l'adresse de votre fichier !)</i><br>";
while ($file = $handle->read()) {
if (($file != ".") && ($file != "..")) {
//////////////////////// PENSEZ À REMPLACER "http://mike.duarte.free.fr/upload/" PAR L'URL DE VOTRE SITE ! ////////////////////////
print "<a href='http://zoy.is.boss.free.fr/". $the_path ."". $file ."'>". $file ."</a><br>";
}
}
print "<hr></ br><center><b>Uploader un autre fichier</b></center>";
}


function upload($the_file) {

global $the_path,$the_file_name;

$error = validate_upload($the_file);
if ($error) {
form($error);
} else { // on charge le fichier
if (!@copy($the_file, $the_path . "/" . $the_file_name)) {
form("\n<b>Chargement ...</b>");
} else {
list_files();
form();
}
}
} // fin de l'upload


// page de début

print "<html>\n<head>\n<title>Exemple d'upload</title>\n</head>\n<body>";
echo("<table width=\"0%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
<tr align=\"left\">
<td><font face=verdana size=2>");
switch($task) {
case 'upload':
upload($the_file);
break;
default:
form();
}
echo("</font></td>
</tr>
</table>");
print "\n</body>\n</html>";

?>
Blue Star Investment
Bzh
le 28/01/2006 à 20:15
Bzh
Heu... Dis-donc... smiley Il était déja fait le script ??? Ou tu la fais spécialement pour lui ??? Personnelement je ne l'ai pas essayé...

Mais à la limite, je dois faire un portail complets de ventes en lignes ???? Il s'agit d'un magasin de pièces de voitures détachées ??? Mais le problème c'est que je ne sais pas du tout comment m'y prendre ???

smiley
vengeur002
le 29/01/2006 à 10:15
vengeur002
lol je voulais etre aiguiller mais pas qu on me donne le script

merci qd mm j vai essayer ca ;)
Bzh
le 29/01/2006 à 10:46
Bzh
Sinon, pour le transfert de fichiers par ftp:

Tu peux, grace à cela, transférer des fichiers de ftp à ftp ou bien de ton serveur à ton pc etc...

<?php

//Cette fonction n'est pas de moi. Elle est tout simplement dans la doc PHP

function ftp_putdir($host , $user , $passwd , $localdir , $remotedir , $port=21) {
/* Paramètres
* $host : hôte FTP
* $user : login
* $passwd : mot de passe
* $localdir : dossier à envoyer
* $remotedir : dossier ou stocker les fichiers
* $port : port de connexion
*/
if (func_num_args() == 7)
{
$stream = func_get_args(6);
}
else
{
$stream = ftp_connect($host, $port);
if (!ftp_login($stream, $user, $passwd))
return FALSE;
if (!ftp_chdir($stream, $remotedir))
return FALSE;
}
if (!is_readable($localdir))
return FALSE;

$dir = opendir($localdir);
if (is_resource($dir))
{
while($v = readdir($dir))
{
if ($v == '.' || $v == '..')
continue;

if (is_dir("$localdir/$v"))
{
if (!(@ftp_chdir($stream,"$v")))
{
ftp_mkdir($stream,"$v");
ftp_chdir($stream,"$v");
}
ftp_putdir($host,$user,$passwd,"$localdir/$v","$remotedir/$v",$port,$stream);
ftp_cdup($stream);
}
else
{
$fp = fopen("$localdir/$v",'r');
if (is_resource($fp))
{
ftp_fput($stream, $v, $fp, FTP_BINARY);
fclose($fp);
}
}
}

}

?>


Bye...
zOy
le 01/02/2006 à 20:12
zOy
Pour répondre à BzH c'est un script que j'avai déja fait il ya as longtemp
Blue Star Investment
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours