Avatar billede jacobs12 Nybegynder
18. december 2011 - 12:04 Der er 4 kommentarer og
1 løsning

Send fil til FTP fra andet domæne.

Hej..
Jeg har leget lidt med et script, som jeg har fundet på nettet.
Da jeg gerne vil sende en fil(data.xml) fra mit domæne, direkte til en anden ftp.

Men jeg bliver ved med at på denne her fejl.
"Cannot upload could not chmod"

Er der nogle der ved hvad chmod endelig er. Og hvordan jeg ikke kan oploade filen til ftp'en?

Så vidt jeg ved køre webhotellet php5.

Scriptet jeg bruger ser sådan her ud:
Jeg har fundet det her:
http://www.jonasjohn.de/snippets/php/ftp-example.htm

// FTP access parameters
$host = 'ftp.example.org';
$usr = 'example_user';
$pwd = 'example_password';

// file to move:
$local_file = '/example.txt';
$ftp_path = '/example.txt';

// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");

// send access parameters
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");

// turn on passive mode transfers (some servers need this)
// ftp_pasv ($conn_id, true);

// perform file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);

// check upload status:
print (!$upload) ? 'Cannot upload' : 'Upload complete';
print "\n";

/*
** Chmod the file (just as example)
*/

// If you are using PHP4 then you need to use this code:
// (because the "ftp_chmod" command is just available in PHP5+)
if (!function_exists('ftp_chmod')) {
  function ftp_chmod($ftp_stream, $mode, $filename){
        return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
  }
}

// try to chmod the new file to 666 (writeable)
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) {
    print $ftp_path . " chmoded successfully to 666\n";
} else {
    print "could not chmod $file\n";
}

// close the FTP stream
ftp_close($conn_id);

På forhånd tak for hjælpen :)
Avatar billede expnet Seniormester
18. december 2011 - 13:35 #1
<?
$file = 'filnavn.txt';
$fp = fopen($file, 'r');

$ftp_server = ""; # Hostname/IP her
$ftp_user_name = ""; # Brugernavn her
$ftp_user_pass = ""; # adgangskode her

$conn_id = ftp_connect($ftp_server); # opretter forbindelse her

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); # logger på her


if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Uploading fuldført: $file\n";
} else {
    echo "Fejl i uploading af filen: $file\n";
}

ftp_close($conn_id); # lukker forbindelsen
fclose($fp);
?>
Avatar billede expnet Seniormester
18. december 2011 - 13:36 #2
Prøv det. hos mig virker det fint
Avatar billede larste Nybegynder
18. december 2011 - 13:43 #3
Oprindeligt er chmod en kommando, der bruges til at administrere rettigheder for filer og mapper på linux og unix lignende systemer. chmod er en sammensætning af ordene change mode.

Nogle webhotel-udbydere tillader ikke udadgående ftp fra deres webhoteller, har du kontrolleret at din udbyder understøtter dette?
Avatar billede jacobs12 Nybegynder
18. december 2011 - 14:04 #4
@expnet: Scriptet virker helt perfekt! :) - mange tak for hjælpen. husk at læg et svar.

@larste: Tak for forklaringen.
Avatar billede expnet Seniormester
06. januar 2012 - 20:41 #5
-svar herfra undskylder forsinkelsen
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