Bonjour,
Je dois uploader un fichier sur un serveur distant, voici ce que je souhaite faire :
- récupération des données utilisateur,
- création d'un fichier .json,
- upload du fichier au serveur distant.
Cela me donne comme erreur suivant :
Can't open that file: No such file or directory
alors que le fichier a bien étgé crée.
Voici la methode qui crée et upload le fichier
Voici la methode qui permetla connection au serveur de la class ftp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public function upload_file(){ //creation du fichier $f = fopen(ROOT.DS.$this->dirname.DS.$this->filename,"w+"); fwrite($f,$this->informations_a_envoyer); fclose($f); //direction des fichiers $local_file = ROOT.DS.$this->dirname.DS.$this->filename ; $remote_file = DS.$this->dirname.DS.$this->filename ; $ftp = new ftp(); if($ftp->connect()){ echo 'connecter'; }else{ echo 'non connecter' ; } $ftp->upload($local_file, $remote_file); }
Voici la methode qui permet uploader le fichier de la class ftp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public function connect($isPassive = true){ $server = config::$config['ftp_connect'] ; $ftpUser = config::$config['login']; $ftpPassword= config::$config['password']; $this->connectionId = ftp_connect($server); $loginResult = ftp_login($this->connectionId, $ftpUser, $ftpPassword); ftp_pasv($this->connectionId, $isPassive); if ((!$this->connectionId) || (!$loginResult)) { $this->logMessage('FTP connection has failed!'); $this->logMessage('Attempted to connect to ' . $server . ' for user ' . $ftpUser, true); return false; } else { $this->logMessage('Connected to ' . $server . ', for user ' . $ftpUser); $this->loginOk = true; return true; } }
En espérant que quelqu'un pourra m'aidé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public function upload($fileFrom, $fileTo){ $asciiArray = array('txt', 'csv','json'); $tab = explode('.', $fileFrom); $extension = end($tab); $mode = (in_array($extension, $asciiArray)) ?FTP_ASCII :FTP_BINARY;//1:0; $upload = ftp_put($this->connectionId, $fileTo, $fileFrom, $mode); echo '<p>upload : '.$upload.'</p>' ; if (!$upload) { $this->logMessage('FTP upload has failed!'); return false; } else { $this->logMessage('Uploaded "' . $fileFrom . '" as "' . $fileTo); return true; } }
Merci
Partager