Avatar billede jhni Nybegynder
05. december 2003 - 21:13 Der er 4 kommentarer

Hjælp til simpelt php ftp script

Hej Eksperter!

Jeg er ved at lave et "simpelt" FTP script i PHP, hvor brugeren via en form skal kunne uploade filer i biblioteket "www.domæne.dk/anemonen/txt"

Jeg kan dog ikke helt få hul igennem - hvad mangler jeg?


<?
if ($cdir==upload) {
$server='www.xxx.dk';
$username='xxx';
$password='xxx';

// function to connect to FTP server
function connect()
{
global $server, $username, $password;
$conn = ftp_connect($server);
ftp_login($conn, $username, $password);
return $conn;
}

$dst_dir='/www/anemonen/txt/';
$result = connect();
// $upload = ftp_put($result, $dst_dir."/".$file, $file, FTP_BINARY);
$upload = ftp_put($result, $file_name, $file, FTP_BINARY);

// check status and display
if ($upload == 1)
{
$status = "Upload successful!";
}
else
{
$status = "Upload error!";
}


} else {
?>
<!-- file upload form -->
Kopier filer:
<form enctype="multipart/form-data" action="<?php echo($PHP_SELF); ?>" method=post>

<table>
<tr>
<td>
<!-- file selection box -->
<input type=file name=file>
<input type=hidden name=cdir value=upload>
</td>
</tr>
<tr>
<td>
<!-- action for this form -->
<input type=submit name=action value=Kopier filer>
</td>
</tr>
</table>
</form>
<?
}
?>
Avatar billede googolplex Novice
05. december 2003 - 22:39 #1
Skal det være ftp?
Avatar billede detox Nybegynder
06. december 2003 - 02:27 #2
Der var en del rettelser. Prøv:

<?
if (isset($_POST['cdir']) && $_POST['cdir']=='upload') {
$server='www.xxx.dk';
$username='xxx';
$password='xxx';

$filepathname = $_POST['fil'];
$filename = basename($filepathname);
// function to connect to FTP server
function connect()
{
global $server, $username, $password;
$conn = ftp_connect($server);
ftp_login($conn, $username, $password);
return $conn;
}
$dst_dir='/www/anemonen/txt/';
$result = connect();
ftp_chdir($result,$dst_dir);
// $upload = ftp_put($result, $dst_dir."/".$file, $file, FTP_BINARY);
$upload = ftp_put($result, $filename, $filepathname, FTP_BINARY);
// check status and display
if ($upload == 1)
{
$status = "Upload successful!";
}
else
{
$status = "Upload error!";
}
echo $status;
} else {
?>
<!-- file upload form -->
Kopier filer:
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method='post'>
<table>
<tr>
<td>
<!-- file selection box -->
<input type='file' name='fil' />
<input type='hidden' name='cdir' value='upload' />
</td>
</tr>
<tr>
<td>
<!-- action for this form -->
<input type='submit' name='action' value='Kopier filer' />
</td>
</tr>
</table>
</form>
<?
}
?>
Avatar billede detox Nybegynder
06. december 2003 - 02:28 #3
Fx skal du ikke bruge: enctype="multipart/form-data"
Avatar billede jhni Nybegynder
06. december 2003 - 18:27 #4
Hej

Har prøvet at oploade scriptet men får fejlen "Warning: ftp_put(): Unable to access C:\\Documents and Settings\\Jørgen\\Skrivebord\\CV-anita.doc in /web/www.totaltiorden.dk/www/anemonen/testfpt.php on line 22
Upload error!"

Når jeg forsøger at oploade en fil.

Jeg går ud fra at når filer fra scriptet altid skal oploades til et fast bibliotek skal scriptet også fysisk være placeret i dette bibliotek (www.domæne.dk/anemonen/txt)?
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