jipe32
Messages postés277Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention11 mai 2010
-
25 juin 2006 à 17:21
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
27 juin 2006 à 12:07
Bonjour à tous,
J'ai trouvé ce code sur ASP-PHP.net. C'est un code d'upload de fichier via FTP:
<?
$conn_id = ftp_connect("ftp.web-stockage.com"); // Connexion au ftp
ftp_login($conn_id,"webst","d291515"); // Identification
$RepDistant="upload/"; // Répertoire distant
$UnLien="http://webstockage.dyndns.org/"; // URL du site
$PoidsMax=1; // Exprimé en Mo, ici 5Mo
$PoidsMax=$PoidsMax*1000000; // On convertir en octets 5Mo -> 5 000 000 octets
// Notre fonction de suppression
// LeParam1 : Nom fichier à supprimer
// LeParam2 : Connexion FTP
function Supprim($LeParam1,$LeParam2){ // Notre fonction de suppression
global $RepDistant; // On récupère notre variable globale
// On supprime le fichier
if(ftp_delete($LeParam2,$RepDistant."$LeParam1")==true){ ?>
<!-- On affiche un message de succès si l'opération réussit -->
<tr>
<td align="center" valign="middle">
</td>
<td valign="middle">
Le fichier '<? echo $LeParam1; ?>' a été effacé avec succès.
</td>
</tr>
<? }else{ ?>
<!-- On affiche un message d'erreur si l'opération échoue -->
<tr>
<td align="center" valign="middle">
</td>
<td valign="middle">
La suppression de '<? echo $LeParam1; ?>' a échoué.
</td>
</tr>
<? }
}
// Notre fonction d'envoi
// LeParam1 : Nom du temporaire du fichier après transfert sur le serveur principal
// LeParam2 : Nom du fichier
// LeParam3 : Connexion FTP
function Upload($LeParam1,$LeParam2,$LeParam3){
global $RepDistant; // On récupère nos variables globale
global $UnLien;
// Petit cadeau bonus, un code permettant d'interdire l'envoi de fichier .php
if (strlen(stristr($LeParam2."a",".php"))==0){
if(ftp_put($LeParam3,$RepDistant."$LeParam2",$LeParam1,1)==1){ ?>
<!-- On affiche un message de succès si l'opération réussit -->
<tr>
<td align="center" valign="middle">
</td>
<td valign="middle">
Le transfert de '<? echo $LeParam2; ?>' a été effectué avec succès.(
[<? echo $UnLien.$RepDistant. " target="_blank">
<? echo $UnLien.$RepDistant."$LeParam2"; ?>
]
)
</td>
</tr>
<? }else{ ?>
<!-- On affiche un message d'erreur si l'opération échoue -->
<tr>
<td align="center" valign="middle">
</td>
<td valign="middle">
Le transfert de '<? echo $LeParam2; ?>' a échoué.
</td>
</tr>
<? }
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
var Nb=1;
function AjoutChamps(LeParam){
Nb++;
// Code ajouté : On clone aussi le champs caché qui recevra le nom du fichier
LeCache=document.getElementById("File"+(Nb-1)).cloneNode(true);
LeCache.name="File"+Nb;
LeCache.id="File"+Nb;
document.getElementById("LesChamps").appendChild(LeCache);
// --------------------------------------------------------------------
// Cette fonction a pour but de déterminer le nom du fichier sélectionné dans les champs FILE,
// de la stocker dans le champs chaché correspondant et d'envoyer le formulaire
// Pour celà, pour chaque champs, elle doit récupérer la chaine qui se trouve après le dernier '\'
// c:\photos\maphoto.jpg -> maphoto.jpg
var Boucle=1;
while(document.getElementById("Champ"+Boucle)){ // Pour chaque champ
LeFile=document.getElementById("File"+Boucle);
// On copie l'adresse du fichier dans le champs caché qui lu iest attribué
LeFile.value=document.getElementById("Champ"+Boucle).value;
// Ensuite, tant que l'on trouve un '\' dans la valeur du champs caché,
// on supprime tout ce qui se trouve avant celui-ci ainsi que le '\' lui même.
// Exemple :
// c:\photos\vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// photos\vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// moi.jpg
LaPos=LeFile.value.indexOf('\\');
while(LaPos>0){
// '\' détecté ! On garde que ce qui se situe après lui
LeFile.value=LeFile.value.substring(LaPos+1,LeFile.value.length+1);
// On cherche le prochain '\'
LaPos=LeFile.value.indexOf('\\');
}
Boucle++;
}
// On envoye ensuite le formulaire
document.LeForm.submit();
}
</script>
</head>
UPLOADS
display:none;<? } ?>">
<?
// Si la variable $_POST[\"Supprim\"] a une valeur alors on appelle notre fonction de suppression
if ($_POST[\"Supprim\"]! =\"\"){
Supprim($_POST[\"Supprim\"],$conn_id);
}
// Si la variable $_POST[\"File1\"] a une valeur alors on appelle notre fonction d'upload
if($_POST[\"File1\"]!= \"\"){
?>
<!-- <?
// Si le répertoire n'existe pas, on le crée
if (ftp_chdir($conn_id,$RepDistant)==false){
ftp_mkdir($conn_id,$RepDistant);
}
?>-->
<?
// Tant qu'il y a des champs, on transfert...
$i=1;
while($_POST[\"File\".$i]!=\"\"){
Upload($_FILES[\"Champ\".$i][\"tmp_name\"],$_POST[\"File\".$i],$conn_id);
$i++;
}
}
?>
<!-- On affiche le poids de stockage maximal -->
Poids de stockage maximal : <? echo round($PoidsMax/1000000,2); ?> Mo.
Vos fichiers :
----
<!-- La ligne d'en-tête -->
Nom,
Adresse,
Taille,
Supprim,
<?
$TailleTotale =0; // Cette variable nous permettre de calculer le poids déjà occupé dans le répertoire
$DesFichier=ftp_nlist($conn_id,$RepDistant);
for($i=2;$i<sizeof($DesFichier);$i++){
// On énumère la liste des fichiers à partir du 3e élement (2e en partant de 0) puisque
// la fonction ftp_nlist renvois aussi les liens au répertoire précédent (..) ect...
// La fonction ftp_nlist renvoye la liste des fichiers avec leur nom et leur adresse relative
// Exemple : /upload/test//photo.jpg
// Le nom du fichier est séparé de l'adresse par //
// Pour le récupérer, on supprimer donc tout ce qui est avant le //
$UnFichier=substr($DesFichier[$i],strpos($DesFichier[$i],\"//\")+2);
?>
----
<!-- On affiche le nom du fichier -->
<? echo $UnFichier; ?>
,
<!-- On affcihe le lien menant au fichier -->
ICI (mises à jour toutes les minutes environ car je le modifie un peu tout le temps pour essayer de le faire marcher
jipe32
Messages postés277Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention11 mai 2010 25 juin 2006 à 19:27
je précise que j'ai changé le code, mais il ne fonctionne joujours pas:
<?
$conn_id = ftp_connect("ftp.xxxxx.net"); // Connexion au ftp
ftp_login($conn_id,"login","pass"); // Identification
$RepDistant="/uploads/AspPhp/"; // Répertoire distant
$UnLien="http://www.monurl.com"; // URL du site
$PoidsMax=1; // Exprimé en Mo, ici 5Mo
$PoidsMax=$PoidsMax*1000000; // On convertir en octets 5Mo -> 5 000 000 octets
// Notre fonction de suppression
// LeParam1 : Nom fichier à supprimer
// LeParam2 : Connexion FTP
function Supprim($LeParam1,$LeParam2){ // Notre fonction de suppression
global $RepDistant; // On récupère notre variable globale
// On supprime le fichier
if(ftp_delete($LeParam2,$RepDistant."$LeParam1")==true){ ?>
<!-- On affiche un message de succès si l'opération réussit -->
<tr>
<td align ="center" valign= "middle">
</td>
<td valign="middle">
Le fichier '<? echo $LeParam1; ?>' a été effacé avec succès.
</td>
</tr>
<? }else{ ?>
<!-- On affiche un message d'erreur si l'opération échoue -->
<tr>
<td align ="center" valign= "middle">
</td>
<td valign="middle">
La suppression de '<? echo $LeParam1; ?>' a échoué.
</td>
</tr>
<? }
}
// Notre fonction d'envoi
// LeParam1 : Nom du temporaire du fichier après transfert sur le serveur principal
// LeParam2 : Nom du fichier
// LeParam3 : Connexion FTP
function Upload($LeParam1,$LeParam2,$LeParam3){
global $RepDistant; // On récupère nos variables globale
global $UnLien;
// Petit cadeau bonus, un code permettant d'interdire l'envoi de fichier .php
if (strlen(stristr($LeParam2."a",".php"))==0){
if(ftp_put($LeParam3,$RepDistant."$LeParam2",$LeParam1,1)==1){ ?>
<!-- On affiche un message de succès si l'opération réussit -->
<tr>
<td align ="center" valign= "middle">
</td>
<td valign="middle">
Le transfert de '<? echo $LeParam2; ?>' a été effectué avec succès.(
[" target="_blank">
<? echo $UnLien.$RepDistant."$LeParam2"; ?>
]
)
</td>
</tr>
<? }else{ ?>
<!-- On affiche un message d'erreur si l'opération échoue -->
<tr>
<td align ="center" valign= "middle">
</td>
<td valign="middle">
Le transfert de '<? echo $LeParam2; ?>' a échoué.
</td>
</tr>
<? }
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
var Nb=1;
function AjoutChamps(LeParam){
Nb++;
// Code ajouté : On clone aussi le champs caché qui recevra le nom du fichier
LeCache=document.getElementById("File"+(Nb-1)).cloneNode(true);
LeCache.name="File"+Nb;
LeCache.id="File"+Nb;
document.getElementById("LesChamps").appendChild(LeCache);
// --------------------------------------------------------------------
// Cette fonction a pour but de déterminer le nom du fichier sélectionné dans les champs FILE,
// de la stocker dans le champs chaché correspondant et d'envoyer le formulaire
// Pour celà, pour chaque champs, elle doit récupérer la chaine qui se trouve après le dernier '\'
// c:\photos\maphoto.jpg -> maphoto.jpg
var Boucle=1;
while(document.getElementById("Champ"+Boucle)){ // Pour chaque champ
LeFile=document.getElementById("File"+Boucle);
// On copie l'adresse du fichier dans le champs caché qui lu iest attribué
LeFile.value=document.getElementById("Champ"+Boucle).value;
// Ensuite, tant que l'on trouve un '\' dans la valeur du champs caché,
// on supprime tout ce qui se trouve avant celui-ci ainsi que le '\' lui même.
// Exemple :
// c:\photos\vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// photos\vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// vacances\moi.jpg
// ^---- '\' détecté ! On garde que ce qui se situe après lui
// moi.jpg
LaPos=LeFile.value.indexOf('\\');
while(LaPos>0){
// '\' détecté ! On garde que ce qui se situe après lui
LeFile.value=LeFile.value.substring(LaPos+1,LeFile.value.length+1);
// On cherche le prochain '\'
LaPos=LeFile.value.indexOf('\\');
}
Boucle++;
}
// On envoye ensuite le formulaire
document.LeForm.submit();
}
// Si la variable $_POST[\"Supprim\"] a une valeur alors on appelle notre fonction de suppression
if ($_POST[\"Supprim\"]!=\"\"){
Supprim($_POST[\"Supprim\"],$conn_id);
}
// Si la variable $_POST[\"File1\"] a une valeur alors on appelle notre fonction d'upload
if($_POST[\"File1\"]!=\"\"){
?>
<!-- <?
// Si le répertoire n'existe pas, on le crée
if (ftp_chdir($conn_id,$RepDistant) == false){
ftp_mkdir($conn_id,$RepDistant);
}
?>-->
<?
// Tant qu'il y a des champs, on transfert...
$i=1;
while($_POST[\"File\".$i]!=\"\"){
Upload($_FILES[\"Champ\".$i][\"tmp_name\"],$_POST[\"File\".$i],$conn_id);
$i++;
}
}
?>
<!-- On affiche le poids de stockage maximal -->
Poids de stockage maximal : <? echo round($PoidsMax/1000000,2); ?> Mo.
Vos fichiers :
----
<!-- La ligne d'en-tête --> Nom,
Adresse,
Taille,
Supprim,
<?
$TailleTotale =0; // Cette variable nous permettre de calculer le poids déjà occupé dans le répertoire
$DesFichier=ftp_nlist($conn_id,$RepDistant);
for($i=2;$i<sizeof($DesFichier);$i++){
// On énumère la liste des fichiers à partir du 3e élement (2e en partant de 0) puisque
// la fonction ftp_nlist renvois aussi les liens au répertoire précédent (..) ect...
// La fonction ftp_nlist renvoye la liste des fichiers avec leur nom et leur adresse relative
// Exemple : /upload/test//photo.jpg
// Le nom du fichier est séparé de l'adresse par //
// Pour le récupérer, on supprimer donc tout ce qui est avant le //
$UnFichier=substr($DesFichier[$i],strpos($DesFichier[$i],\"//\")+2);
?>
----