Avatar billede techboy992 Praktikant
20. april 2013 - 04:39 Der er 2 kommentarer og
1 løsning

Kopiere og overskrive en liste af filer med fopen

Hejsa jeg proever at kopiere en liste af filer til deres rette placering skal overskrive filer paa destination.

Jeg starter med at hente en zip file fra external server soma ogsaa hoster en fil liste i database.

Zip filen henter jeg med curl:
$curl = curl_init();
$file = fopen("ls-lR.zip", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://ip/path/ls-lR.zip"); #input
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file); #output
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
curl_exec($curl);
curl_close($curl);
fclose($file);

naar file er hented skal den pakkes ud:
<?php
$zip = new ZipArchive;
if ($zip->open('ls-lR.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();


Nu skal filer saa ud paa plads paa webserveren
Her er jeg herrens mark har ingen ide om hvordan man goer det, da filer der skal overskrives kan vaere i forskellige mapper paa serveren.
Funktion skal overskrive de eksisterende filer.

For at spare plads er der kun de filer der vigtige i zipfilen, som saa skal flyttes paa plads i mappe strukturen paa destinations server.

Min database tabel ser saaledes ud:
|ID | Licenscode | ZIPname | Filename | path |

Vi har ikke ftp adgang til serverene som filer pakkes ud paa, saa det skal goeres via php scripts og curl.

Hvad skal det bruges til:
Det er til en lisens server, hvis lisensserveren ikke har faaet et kald paa licens i 5 dage vil den automatisk, oprette alle vigtige lisens filer igen, og de php filer som kalder licens filerne.
Avatar billede techboy992 Praktikant
20. april 2013 - 04:44 #1
Tabelnavn er zipfiles
Avatar billede techboy992 Praktikant
20. april 2013 - 17:22 #2
Vil det her kunne virke ??
<?php
$con=mysqli_connect("localhost","username","password","database");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
$result= mysqli_query($con, "Select * FROM zipfiles where licensecode='".$licensecode."'limit 1");
while ($row = mysqli_fetch_assoc())
copy($row["file"],$row["path"]/$row["file"]);
$result++
?>
Avatar billede techboy992 Praktikant
30. november 2013 - 00:45 #3
Lukker spoergsmaal
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester