Til Top

I mit blogindlæg Tutorial - Håndtering af FTP i PHP del 1 så vi på hvordan du kunne håndtere FTP upload/download mm via de indbyggede FTP funktioner i PHP. Men hvad nu hvis man sidder på en host hvor disse funktioner er slået fra? Hvis cURL er slået til på serveren, ja så er løsningen her. Jeg sad tilfældigt og surfede dokumentationen til cURL (curl()), og så at det var muligt, så det måtte jeg lige afprøve, hvilket blev til følgende kode:

Kopier til udklipsholder | Vis uden linie #
01 <?php
02        $ftpBruger  =  'dit_brugernavn';  //din  ftp  bruger
03        $ftpPass  =  'dit_password';  //dit  ftp  password
04        $ftpServer  =  'ftp.ditdomaene.dk';  //din  ftp  server
05        $ftpSti  =  '/';  //stien  du  ønsker  at  uploade  til
06          $fil  =  'dinfil.ext';  //den  lokale  fil  på  serveren  der  skal  overføres
07        $ch  =  curl_init();  //start  curl
08          $fp  =  fopen($fil,'r');  //åben  vores  fil  for  læsning
09        //fuld  ftp  sti  hvor  vi  ønsker  at  uploade  til  inkl  brugernavn  og  password
10          curl_setopt($ch,  CURLOPT_URL,  'ftp://'.$ftpBruger.':'.$ftpPass.'@'.$ftpServer.$ftpSti.$fil);
11          curl_setopt($ch,  CURLOPT_UPLOAD,  1);  //upload
12          curl_setopt($ch,  CURLOPT_INFILE,  $fp);  //send  fil  object  til  curl
13          curl_setopt($ch,  CURLOPT_INFILESIZE,  filesize($fil));  //fil  størrelse  på  vores  upload
14          curl_exec($ch);  //udfør  curl  kald  (upload  fil)
15          $fejl  =  curl_error($ch);  //evt  fejl  gemmer  vi  i  $fejl;
16          curl_close  ($ch);  //luk  curl
17        fclose($fp);  //luk  fil
18        if(empty($fejl))  {  //hvis  fejl  er  tom  er  filen  uploadet
19                echo  'Filen  blev  uploadet';
20        }  else{  //ellers  udskriver  vi  fejlen
21                echo  $fejl;
22        }
23 ?>

Personligt foretrækker jeg nu de indbyggede FTP funktioner, men ovenstående kode virker også ganske fint.

kommentarer

Jeg har desværre ikke fået nogle kommentarer, kunne du ikke tænke dig at ændre på det?

skriv kommentar

Felter markeret med gult og * er påkrævet







Sikkerheds kode


Pingbacks

Hvis du linker til en af mine blog artikler fra et blogsystem der udsender pings vil du få et gratis do-follow link fra mig, du kna også twitte om en post og få et link til din twitter profil (Jeg forbeholder mig dog retten til at slette eller nofollow spam :P)