16. januar 2013 - 08:19Der er
22 kommentarer og 1 løsning
Warning: ftp_put() [function.ftp-put]: Type set to A
Hej alle,
jeg skal have uploaded en txt-fil til en ftp-server, og det virker fint når jeg upper den tilmin egen ser, men når jeg prøver til den sti ( \PROD\EDILIGHT\D0701-FROM-EDILIGHT ) de har sendt mig, så får jeg fejlen:
Warning: ftp_put() [function.ftp-put]: Type set to A
Jeg synes snart at jeg har prøvet alle mulige kombinationer at stien og om det er FTP_ASCII eller Binary giver bare 2 forskellige fejlmeldinger.
// set up basic connection $conn_id = ftp_connect($host);
// login with username and password $login_result = ftp_login($conn_id, $usr, $pwd);
// check connection if ((!$conn_id) || (!$login_result)) { die("FTP connection has failed !"); }
// try to change the directory to somedir if (ftp_chdir($conn_id, "\PROD\EDILIGHT\D0701-FROM-EDILIGHT/")) { echo "Current directory is now: " . ftp_pwd($conn_id) . "\n"; } else { echo "Couldn't change directory\n"; }
// upload a file if (ftp_put($conn_id, $remote_file.'/'.$file, $file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; }
// close the connection ftp_close($conn_id);
Håber at der er nogen derude der kan gennemskue hvad problemet kan være.
// resulterer i stien: \PROD\EDILIGHT\D0701-FROM-EDILIGHT//1234.txt
Det er nok ikke så hensigtsmæssigt =)
Derudover kører du jo en ftp_chdir, hvorfor du ikke skal have hele sourcefilens sti med i ftp_put - men destinationsfilen skal være angivet med hele stien.
// set up basic connection $conn_id = ftp_connect($host);
// login with username and password $login_result = ftp_login($conn_id, $usr, $pwd);
// check connection if ((!$conn_id) || (!$login_result)) { die("FTP connection has failed !"); }
// try to change the directory to somedir if (ftp_chdir($conn_id, "/PROD/EDILIGHT/D0701-FROM-EDILIGHT")) { echo "Current directory is now: " . ftp_pwd($conn_id) . "\n"; } else { echo "Couldn't change directory\n"; }
// upload a file if (ftp_put($conn_id, $remote_file.'/'.$file, $file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; }
// set up basic connection $conn_id = ftp_connect($host);
// login with username and password $login_result = ftp_login($conn_id, $usr, $pwd);
// check connection if ((!$conn_id) || (!$login_result)) { die("FTP connection has failed !"); } else echo "Connection succeeded.<br>\r\n";
// Turn on passive mode ftp_pasv($conn_id, true);
// upload a file if (ftp_put($conn_id, $remote_file.'/'.$file, $upload_path.'/'.$file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; }
Der er mange der har haft fingrene i suppen her efterhånden. Kunden der gav mig stien "\PROD\EDILIGHT\D0701-FROM-EDILIGHT" spurgte om jeg havde mulighed for "for at lave en CWD", IT-manden sagde jeg så skulle bruge "ftp_chdir".
Jeg vil have uploaded en text-fil til ftphub.supergros.dk, via den sti jeg har fået udleveret "\PROD\EDILIGHT\D0701-FROM-EDILIGHT", men får denne fejl:
Warning: ftp_put() [function.ftp-put]: Type set to A...
// set up basic connection $conn_id = ftp_connect($host);
// login with username and password $login_result = ftp_login($conn_id, $usr, $pwd);
// check connection if ((!$conn_id) || (!$login_result)) { die("FTP connection has failed !"); }
// try to change the directory to somedir if (ftp_chdir($conn_id, "/PROD/EDILIGHT/D0701-FROM-EDILIGHT")) { echo "Current directory is now: " . ftp_pwd($conn_id) . "\n"; } else { echo "Couldn't change directory\n"; }
// upload a file if (ftp_put($conn_id, $remote_file.'/'.$file, $file, FTP_ASCII)) { echo "successfully uploaded $file\n"; } else { echo "There was a problem while uploading $file\n"; }
Det er ikke en fejl, men en advarsel, som ikke stopper resten af afviklingen. Får du andet skrevet ud? Har du tjekket, om filen faktisk bliver uploaded?
Hvad siger advarslen, hvis du skifter til 'FTP_BINARY'?
Jeg har skrevet med supergros flere gange og de arbejde også på at løse problemet, så jeg må gå ud fra at de ikke har fået filen. Her er hele mit output:
Current directory is now: /PROD/EDILIGHT/D0701-FROM-EDILIGHT Warning: ftp_put() [function.ftp-put]: Type set to A... There was a problem while uploading 5932.txt
Supergros arbejder også på at finde en løsning, så jeg må gå ud fra at de ikke har modtaget tekst-filen. Her er hele mit output:
Current directory is now: /PROD/EDILIGHT/D0701-FROM-EDILIGHT Warning: ftp_put() [function.ftp-put]: Type set to A. ... on line 126 There was a problem while uploading 5932.txt
Linje 126 er: if (ftp_put($conn_id, $remote_file.'/'.$file, $file, FTP_ASCII)) {
Hvis jeg skriver BINARY får jeg:
Warning: ftp_put() [function.ftp-put]: Type set to I. ... on line 126
Haha, det er nok mere mig der bare skal være lidt mere frisk ;)
Synes godt om
Ny brugerNybegynder
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.