澳门新葡萄京官网首页web方式ftp

?php/* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 pauls Exp $ *//* This
software came from *//* Copyright (c) 2000Paul Southworth.All rights
reserved.Redistribution and use in source and binary forms, with or
withoutmodification, are permitted provided that the following
conditionsare met:1. Redistributions of source code must retain the
above copyrightnotice, this list of conditions and the following
disclaimer.2. Redistributions in binary form must reproduce the above
copyrightnotice, this list of conditions and the following disclaimer in
thedocumentation and/or other materials provided with the
distribution.3. The name of the author may not be used to endorse or
promoteproducts derived from this software without specific priorwritten
permission.THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY
EXPRESSOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSEARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTEGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY,WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCEOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *//*
Configuration Options
*/$phpftp_host=localhost;$phpftp_version=2.2;/* Comment this out if
you don’t want the version footer */$show_version_footer=1;/* How
large a file will you accept?You may also need to edit yourphp.ini file
and change upload_max_filesize appropriately
*/$max_file_size=1000000;/* The temporary directory $phpftp_tmpdir
must exist and be writableby your web server.Hint:mkdir /var/tmp/xfers
&& chmod 1777 /var/tmp/xfers */$phpftp_tmpdir=/var/tmp/xfers;/*
$use_mime_lookupTurning this on creates a dependency upon the_lookup/
MIME type lookup library.Setting this variable to 1 enables it.0
disables.If you turn it on, put the mime_lookup.php file in the same
directoryas ftp.php and uncomment the ‘include(mime_lookup.php);’
statement. */$use_mime_lookup=0;/* include(mime_lookup.php); *//*
We enclose the top and bottom in functions because sometimeswe might not
send them (ie, in a file-download situation) */function phpftp_top()
{global $phpftp_version;?!– function phpftp_top –htmlheadtitlePHP
FTP Client ?php echo $phpftp_version; ?/title/headbody
bgcolor=#ffffff?php}function phpftp_bottom() {global
$phpftp_version;global $show_version_footer;?!– function
phpftp_bottom –?phpif (isset($show_version_footer)) {?pfont
size=-2This is a href= FTP/aversion ?php echo $phpftp_version;
?/font/p?php}?/body/html?php}/* This is the form used for initially
collecting username/passwd */function phpftp_login()
{phpftp_top();?!– function phpftp_login –pform action=ftp.php
method=postptable border=0trtdLogin:/tdtdinput name=phpftp_user
type=text/td/trtrtdPassword:/tdtdinput name=phpftp_passwd
type=password/td/trtrtdDirectory:/tdtdinput name=phpftp_dir
type=text/td/tr/table/ppinput type=hidden name=function value=dirinput
type=submit value=connect/p/formp?phpphpftp_bottom();}/* This function
does not return TRUE/FALSE – it returns the value of$ftp, the current
FTP stream. */function phpftp_connect($phpftp_user,$phpftp_passwd)
{global $phpftp_host;$ftp = ftp_connect($phpftp_host);if ($ftp) {if
(ftp_login($ftp,$phpftp_user,urldecode($phpftp_passwd))) {return
$ftp;}}}function
phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir) {global
$phpftp_host;phpftp_top();?!– function phpftp_list –?php$ftp =
@phpftp_connect($phpftp_user,$phpftp_passwd);if (澳门新葡萄京官网首页,!$ftp) {?strongFTP
login failed!/stronga href=ftp.phpStart over?/a?phpphpftp_bottom();}
else {if (!$phpftp_dir) {$phpftp_dir=ftp_pwd($ftp);}if
(!@ftp_chdir($ftp,$phpftp_dir)) {?font color=#ff0000strongCan’t enter
that directory!/strong/fontpp?php$phpftp_dir=ftp_pwd($ftp);}echo
strongCurrent host:/strong . $phpftp_host . br/n;echo strongCurrent
directory:/strong . $phpftp_dir . br/n;if ($phpftp_dir == /)
{$phpftp_dir=;}if ($contents = ftp_rawlist($ftp,))
{$d_i=0;$f_i=0;$l_i=0;$i=0;while ($contents[$i]) {$item[] =
split([
]+,$contents[$i],9);$item_type=substr($item[$i][0],0,1);if
($item_type == d) {/* it’s a directory
*/$nlist_dirs[$d_i]=$item[$i][8];$d_i++;} elseif ($item_type
== l) {/* it’s a symlink
*/$nlist_links[$l_i]=$item[$i][8];$l_i++;} elseif ($item_type
== -) {/* it’s a file
*/$nlist_files[$f_i]=$item[$i][8];$nlist_filesize[$f_i]=$item[$i][4];$f_i++;}
elseif ($item_type == +) {/* it’s something on an anonftp server
*/$eplf=split(,,implode( ,$item[$i]),5);if ($eplf[2] == r) {/*
it’s a file
*/$nlist_files[$f_i]=trim($eplf[4]);$nlist_filesize[$f_i]=substr($eplf[3],1);$f_i++;}
elseif ($eplf[2] == /) {/* it’s a directory
*/$nlist_dirs[$d_i]=trim($eplf[3]);$d_i++;}} /* ignore all
others */$i++;}?table border=0 cellspacing=20?phpif
(count($nlist_dirs)0) {?trtd align=left
valign=topstrongDirectories/strongbrform action=ftp.php method=postinput
type=hidden name=function value=cdinput type=hidden name=phpftp_user
value=?php echo $phpftp_user; ?input type=hidden name=phpftp_passwd
value=?php echo $phpftp_passwd; ?input type=hidden name=phpftp_dir
value=?php echo $phpftp_dir; ?select name=select_directory size=10
width=100?phpfor ($i=0; $i count($nlist_dirs); $i++) {echo option
value=/ . $nlist_dirs[$i] . / . $nlist_dirs[$i] .
/option/n;}?/selectbrinput type=submit value=Enter
Directory/form/td?php}if (count($nlist_files)0) {?td align=left
valign=topstrongFiles/strongbrform action=ftp.php method=postinput
type=hidden name=function value=getinput type=hidden name=phpftp_user
value=?php echo $phpftp_user; ?input type=hidden name=phpftp_passwd
value=?php echo $phpftp_passwd; ?input type=hidden name=phpftp_dir
value=?php echo $phpftp_dir; ?select name=select_file size=10?phpfor
($i=0; $i count($nlist_files); $i++) {echo option value=/ .
$nlist_files[$i] . / . $nlist_files[$i] .($nlist_filesize[$i]
bytes). /option/n;}?/selectbrinput type=submit value=Download
File/form/td/tr?php}} else {?pfont color=#ff0000strongDirectory empty
or not readable/strong/fontp?php}?/tablepform action=ftp.php
method=post?php$cdup=dirname($phpftp_dir);if ($cdup == )
{$cdup=/;}?input type=hidden name=function value=dirinput type=hidden
name=phpftp_user value=?php echo $phpftp_user; ?input type=hidden
name=phpftp_passwd value=?php echo $phpftp_passwd; ?input type=hidden
name=phpftp_dir value=?php echo $cdup; ?input type=submit value=Go up
one directory/formpform enctype=multipart/form-data action=ftp.php
method=postinput type=hidden name=max_file_size value=?php echo
$max_file_size ?input type=hidden name=phpftp_user value=?php echo
$phpftp_user; ?input type=hidden name=phpftp_passwd value=?php echo
$phpftp_passwd; ?input type=hidden name=phpftp_dir value=?php echo
$phpftp_dir; ?input type=hidden name=function value=putinput
type=submit value=Upload this:input name=userfile type=file/formpform
action=ftp.php method=postinput type=hidden name=function
value=mkdirinput type=hidden name=phpftp_user value=?php echo
$phpftp_user; ?input type=hidden name=phpftp_passwd value=?php echo
$phpftp_passwd; ?input type=hidden name=phpftp_dir value=?php echo
$phpftp_dir; ?input type=submit value=Make subdirectory:input
name=new_dir type=text?phpftp_quit($ftp);phpftp_bottom();}}function
phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory)
{?!– function phpftp_cd –?php$new_directory=$phpftp_dir . / .
$select_directory;phpftp_list($phpftp_user,$phpftp_passwd,$new_directory);}function
phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir)
{?!– function phpftp_mkdir –?php$ftp =
@phpftp_connect($phpftp_user,$phpftp_passwd);if ($phpftp_dir == )
{$phpftp_dir=/;}if (!$ftp) {@ftp_quit($ftp);phpftp_top();?font
color=#ff0000strongFTP login failed!/strong/fontppa href=ftp.phpStart
over?/a?phpphpftp_bottom();} else {$dir_path = $phpftp_dir . / .
$new_dir;@ftp_mkdir($ftp,$dir_path);@ftp_quit($ftp);phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);}};function
phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file)
{$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);if ($phpftp_dir
== ) {$phpftp_dir=/;}if ((!$ftp) || (!@ftp_chdir($ftp,$phpftp_dir)))
{@ftp_quit($ftp);phpftp_top();?font color=#ff0000strongFTP login
failed!/strong/fontppa href=ftp.phpStart over?/a?phpphpftp_bottom();}
else {srand((double)microtime()*1000000);$randval =
rand();$tmpfile=$phpftp_tmpdir . / . $select_file . . . $randval;if
(!ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY))
{ftp_quit($ftp);phpftp_top();?font color=#ff0000strongFTP get
failed!/strong/fontppa href=ftp.phpStart over?/a?phpphpftp_bottom();}
else {ftp_quit($ftp);global $use_mime_lookup;if ($use_mime_lookup
== 1)
{$file_mime_type=mime_lookup(substr(strrchr($select_file,.),1));}if
(!$file_mime_type)
{$file_mime_type=application/octet-stream;}header(Content-Type: .
$file_mime_type);header(Content-Disposition: attachment; filename= .
$select_file);readfile($tmpfile);}@unlink($tmpfile);}}function
phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name)
{srand((double)microtime()*1000000);$randval =
rand();$tmpfile=$phpftp_tmpdir . / . $userfile_name . . . $randval;if
(!@move_uploaded_file($userfile,$tmpfile)) {phpftp_top();?font
color=#ff0000strongUpload failed!Can’t create temp file?/strong/fontppa
href=ftp.phpStart over?/a?phpphpftp_bottom();} else {if (!$ftp =
@phpftp_connect($phpftp_user,$phpftp_passwd))
{unlink($tmpfile);phpftp_top(); ?font color=#ff0000strongFTP login
failed!/strong/fontppa href=ftp.phpStart over?/a?phpphpftp_bottom();}
else
{ftp_chdir($ftp,$phpftp_dir);ftp_put($ftp,$userfile_name,$tmpfile,FTP_BINARY);ftp_quit($ftp);unlink($tmpfile);phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);}}}switch($function)
{case
dir;phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);break;case
cd;phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory);break;case
get;phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file);break;case
put;phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name);break;case
mkdir;phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir);break;case
;phpftp_login();break;}?

发表评论

电子邮件地址不会被公开。 必填项已用*标注