Connettersi via ftp con php

Posted on 11. Nov, 2008 by Administrator in php, script php, tutorials


/*
There are two files: upload.php and test.php
The former contains code to manage file upload, the latter is just an HTML demo.
*/

// upload.php

< ?
/* This code is released with NO WARRANTY, use at your own
risk!
*/

function putFiles ($login,$password) {
global $filename, $dir, $MAX_FILE_SIZE;
$backstr = "<br><a href="javascript:history.back(-1)">Back</a>";

// An array with allowed file extensions
$allExt = array("zip","Zip","ZIP");
$fileSize = filesize($filename);
if ($dir == "notset") {
die("ERROR - Choose a file type.$backstr");
}
if ($fileSize > $MAX_FILE_SIZE) {
die("File size exceeds $MAX_FILE_SIZE bytes.$backstr");
}
/* This is to isolate filename from path. Chosen separator
"" is intended for Windows clients. Change in "/" if you're
running on Unix-like operating systems.
*/

$chunk_file = explode("\", $filename);
$numChunkFile = count($chunk_file);
$dstFile = $chunk_file[$numChunkFile - 1];

// Now let's get file extension
$ext = explode(".",$dstFile);
$numChunkExt = count($ext);

/* If file extension matches elements in array $allExt,
FTP connection is extablished and file is uploaded.
*/
if (in_array($ext[$numChunkExt - 1],$allExt)) {
$ftp_id = ftp_connect("192.168.0.254");
$ftp_login = ftp_login($ftp_id,$login,$password);
if (! $ftp_login) {
ftp_quit($ftp_id);
die("Connection failed, check your login and password.$backstr");
}
if (ftp_chdir($ftp_id,$dir)) {
$ftp_put_file = ftp_put($ftp_id,$dstFile,$filename,FTP_BINARY);
if (! $ftp_put_file) {
echo "Upload failed.$backstr";
}
else {
echo "Upload $dstFile was successful.n";
}
}
}
else {
echo "ERROR - Allowed file extensions are:
n";
for ($i = 0; $i < count($allExt); $i++) {
echo "<b>$allExt[$i] <br />n";
}
echo $backstr;
}
ftp_quit($ftp_id);
}

?>

// test.php

<form action="< ? echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="hidden" name="action" value="upload">
<br>
<!-- FTP Server username and password -->
Login:
<input type="text" name="login" size="20" maxlength="8">
<br>
Password:
<input type="password" name="password" size="20" maxlength="8">
<br>

File type:
<select name="dir">
<option value="notset" selected>...
<option value="soci/circolari">Circolari (soci)
<option value="soci/guide">Guide (soci)
<option value="soci/files">Files generici (soci)
<option value="circolari">Circolari (pubbliche)
<option value="files">Files generici (pubblici)
</select>
<br>
Filename :
<input type="file" name="filename">
<br><input type="submit" value="Invia">
</form>

< ?
if (isset($action) and $action == "upload") {
include("upload.php");
putFiles($login,$password);
}
?>


Correlati

Leave a reply