Upload image vers ftp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Upload image vers ftp

Re: Upload image vers ftp

par patcoinfo » 14 nov. 2012, 10:03

Tu peux aussi voir ce site http://www.ivoire-plus.net/rad/

Re: Upload image vers ftp

par patcoinfo » 14 nov. 2012, 10:02

Essai ça

$filename = $_FILES['userfile']['name'];
$point=strrpos($filename, ".");

if ($point){
$extension=substr($filename, $point);
}
else{
$extension =""; }
//$extension = substr($filename, '.');;
$date=date("ymdhis");
$chemin = "../images/dossier/";
//un nouveau nom qui prend en compte la date, l'heure, les minutes
//et secondes est crée ; ainsi, aucune image ne peut être écrasée sur le serveur
$userfile_name = time().$date.$extension;

move_uploaded_file($_FILES['userfile']['tmp_name'],$chemin.$userfile_name);

Re: Upload image vers ftp

par AB » 12 nov. 2012, 19:08

Si tu veux plus d'infos sur le sujet tu peux regarder

Re: Upload image vers ftp

par xlP1TUF0lx » 12 nov. 2012, 18:37

j'ai trouvé :
$uploaddir = '/home/a8657933/public_html/design/images/musique/';
$uploadfile = $uploaddir . $titre . ".png";//$_FILES['photo']['name'];
						
foreach ($_FILES["photo"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["photo"]["tmp_name"][$key];
$name = $_FILES["photo"]["name"][$key];
move_uploaded_file($tmp_name, $uploadfile);
}
}

Re: Upload image vers ftp

par moogli » 22 oct. 2012, 21:00

en regardant dans la doc ? http://fr2.php.net/manual/fr/features.f ... method.php

lorsque tu as le fichier temporaire tu peux utilise ton code de connexion ftp :)



@+

Re: Upload image vers ftp

par xlP1TUF0lx » 22 oct. 2012, 09:28

D'accord ! j'ai rien dis alors...
Le formulaire j'ai mais pas le traitement alors... comment ça marche ?

Re: Upload image vers ftp

par moogli » 22 oct. 2012, 00:26

Heu non cette fonction envoi sur un serveur FTP un fichier qui se trouve sur la machine où s'exécute le script (ou accessible via le réseau (samba ou autre).

La le script est exécuté chez ton hébergeur donc quoi qu'il arrive il ne connais pas ton pc à toi.
Le serveur de ton hébergeur est un serveur UNIX (ou Linux) donc en aucun cas un chemin du style c:/... Ne sera valable.

Si tu veux envoyer un fichier de ton pc sur le serveur FTP via ton script, il te faut un script d'upload sur ton site web qui ensuite effectue l'envoi sur le serveur FTP.

Donc un formulaire avec un champs de type file et le traitement qui va bien pour le reste.

@+

Re: Upload image vers ftp

par xlP1TUF0lx » 21 oct. 2012, 20:11

Description
bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_put() enregistre le fichier local_file sur le serveur FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de la connexion FTP.
remote_file

Le chemin vers le fichier distant.
local_file

Le chemin vers le fichier local.
mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.
startpos

La position dans le fichier distant à partir de laquelle le téléchargement commencera.

Re: Upload image vers ftp

par xlP1TUF0lx » 21 oct. 2012, 20:07

bah non, c'est pour upload un fichier de l'ordi vers le ftp....

Re: Upload image vers ftp

par moogli » 21 oct. 2012, 20:03

Ben il ne peux pas être sur pc le fichier si le site est en ligne !

Tu doit mettre le nom d'un fichier qui se trouve sur le serveur où ton script s'exécute ;)


@+

Re: Upload image vers ftp

par xlP1TUF0lx » 21 oct. 2012, 19:55

non je teste directement en ligne...
bah ça serait cool que ça marche de n'importe quel ordi (windows ou linux) et ce lien c'est celui du fichier sélectionné que je viens chercher sur mon DD.
sauf que pour tester je préfère mettre le lien en brut et apres me concentrer sur un lien tiré du formulaire..

Re: Upload image vers ftp

par moogli » 21 oct. 2012, 19:31

Mwé,

Au pif tu as testé ça sur ton pc et la tu test en ligne et ça ne fonctionne pas ?


Parce que bon un chemin de fichier windows comme nom de fichier local sur une machine qui me semble être du Linux (ou UNIX osef) ça fait pas bon ménage ;)

Warning: ftp_put(C:\wamp\EN LIGNE\design\images\musique\Care1.png) [function.ftp-put]: failed to open stream: No such file or directory in /home/a8657933/public_html/fonctions.php on line 134
La dernière partie c'est l'emplacement du fichier et la ligne incriminé le système n'est donc pas windows !



@+

Re: Upload image vers ftp

par xlP1TUF0lx » 21 oct. 2012, 19:04

idem...

Re: Upload image vers ftp

par xTG » 21 oct. 2012, 19:00

Le \ permet d'échapper un caractère, donc il faut le doubler dans les paths :
ftp_put($ftp, $titre, "C:\\wamp\\EN LIGNE\\design\\images\\musique\\Care1.png", FTP_BINARY);

Upload image vers ftp

par xlP1TUF0lx » 21 oct. 2012, 18:46

Salut les gens,
je reviens vers vous pour uploader un image vers un serveur ftp.
je me suis servis de ces 2 tutos http://www.siteduzero.com/tutoriel-3-21 ... r-ftp.html et http://www.siteduzero.com/tutoriel-3-37 ... laire.html mais j'ai une erreur :
Warning: ftp_put(C:\wamp\EN LIGNE\design\images\musique\Care1.png) [function.ftp-put]: failed to open stream: No such file or directory in /home/a8657933/public_html/fonctions.php on line 134

voici mon fichier fonctions.php:
<?php
function ajout_photo($photo,$titre,$ftp)
{
	//$nom = "/public_html/design/images/musique/".$titre.".png";
	//echo $nom;
	echo '<br>'."photo : ";
	echo($photo).'<br>';
	$titre = $titre.'.png';
	ftp_chdir($ftp, '/public_html/design/images/musique/'); 
	echo (ftp_pwd($ftp));
        ftp_put($ftp, $titre, "C:\wamp\EN LIGNE\design\images\musique\Care1.png", FTP_BINARY);
}
?>
le formulaire pour définir les données :
<center>
<form action="ajout_musique.php" method="post" enctype="multipart/form-data">
	<TABLE BORDER=0>
	<TR>
	<TD>Artiste :</TD>
	<TD>
	<input type="text" name="artiste" value="Artiste" />
	</TD>
	</TR>
	<TR>
	<TD>Titre :</TD>
	<TD>
	<input type="text" name="titre" value="Titre" />
	</TD>
	</TR>
	<TR>
	<TD>Lien :</TD>
	<TD>
	<TEXTAREA rows="3" name="lien">Lien</TEXTAREA>
	</TD>
	</TR>
	<TR>
	<TD>Photo :</TD>
	<TD>
	<input type="file" name="photo"/>
	</TD>
	</TR>
	</TABLE>
	<br>
	<input type="submit" value="Ajouter">
	</form>
</center>
et je récupère les valeurs comme ceci :
<?php
$artiste = $_POST['artiste'];
$titre = $_POST['titre'];
$lien = $_POST['lien'];
$photo = $_POST['photo'];
?>
Quelqu'un aurait une solution ?