ホームページ  >  記事  >  バックエンド開発  >  PHP での FTP ファイルアップロード関数の作成に関するチュートリアル_PHP チュートリアル

PHP での FTP ファイルアップロード関数の作成に関するチュートリアル_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:07:32811ブラウズ

このチュートリアルは、PHP を使用して FTP ファイル アップロード関数を作成する方法について説明します。PHP は、独自の関数を使用して FTP 関数を実装し、ファイル アップロード機能を実現することができます。 FTP ファイルアップロード関数の書き方 PHP は非常に強力な関数を使用して FTP 関数を実装し、ファイルアップロード関数を実装できます。以下は完全な例です

function phpftp_top() {
echo "n"; ;n";
echo "PHP FTP クライアント v1.4n";
echo "n";
echo " ";
echo "nn";
}

function phpftp_bottom() {
echo "nn"; echo "< font>n";

echo "n";
echo "n";
}

function phpftp_login() {
phpftp_top();

echo "n";

echo "

n";
echo "

n";
echo "ログイン: ";
echo "< ; input name="phpftp_user" type="text">n";
echo "

n";
echo "パスワード: ";
echo "echo "

n";
echo "ディレクトリ: ";
echo "n";
echo "

";
echo "n";
echo "n";
echo "

n";
echo "

n";
}

/* この関数は TRUE/FALSE を返しません。現在の FTP ストリーム。 、$phpftp_user、$phpftp_passwd ) ) {
return $ftp
}

}

}

関数 phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir ) {
phpftp_top();
echo "n";
$ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
if ( ! $ftp ) {
echo "FTP ログインに失敗しました!n";
echo "最初からやり直しますか?n";
phpftp_bottom();
} else {
if ( ! $phpftp_dir ) {
$phpftp_dir=ftp_pwd( $ftp );
}
if ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) {
echo "そのディレクトリには入れません!

n";
$phpftp_dir=ftp_pwd( $ftp );
}
echo "現在のディレクトリ: " 。 $phpftp_dir 。 "
";
if ( $phpftp_dir == "/" ) {
$phpftp_dir="";
}
echo "

n";
if ( $contents = ftp_nlist( $ftp, "." ) ) {
$d_i=0;
$f_i=0;
sort($contents);
for ( $i=0; $i $file_size = ftp_size( $ftp, $contents[$i] );
if ( $file_size == -1 ) {
$nlist_dirs[$d_i]=$contents[$i];
$d_i++;
} else {
$nlist_files[$f_i]=$contents[$i];
$nlist_filesize[$f_i]=$file_size;
$f_i++;
}
}
echo "nn";
} else {
echo "

ディレクトリが空か読み取り不能です

n";
}
echo "

n";
echo "ディレクトリ
n";
echo "
n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "n";
echo "
n";
echo "
nn";
echo "ファイル
n";
echo "
n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "n";
echo "
n";
echo "
nn";
エコー "

n";
echo "

n";
$cdup=ディレクトリ名( $phpftp_dir );
if ( $cdup == "" ) {
$cdup="/";
}
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
エコー "

n";
echo "

n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
エコー「

nn」;
echo "

n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
ftp_quit( $ftp );
phpftp_bottom();
}
}

function phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory ) {
echo "n";
$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 ) {
echo "n";
$ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
if ( $phpftp_dir == "" ) {
$phpftp_dir="/";
}
if ( ! $ftp ) {
@ftp_quit( $ftp );
phpftp_top();
echo "FTP ログインに失敗しました!

n";
echo "最初からやり直しますか?n";
phpftp_bottom();
} else {
$dir_path = $phpftp_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();
echo "FTP ログインに失敗しました!

n";
echo "最初からやり直しますか?n";
phpftp_bottom();
} else {
srand((double)microtime()*1000000);
$randval = rand();
$tmpfile="/var/tmp/xfers/" 。 $select_file 。 「。」 。 $ランヴァル;
if ( ! ftp_get( $ftp, $tmpfile, $select_file, FTP_BINARY ) ) {
ftp_quit( $ftp );
phpftp_top();
echo "FTP が失敗しました!

n最初からやり直しますか?n";
phpftp_bottom();
} else {
ftp_quit( $ftp );
header( "Content-Type: application/octet-stream" );
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="/var/tmp/xfers/" 。 $userfile_name 。 「。」 。 $ランヴァル;
if ( ! @copy( $userfile, $tmpfile ) ) {
phpftp_top();
echo "アップロードに失敗しました!おそらくサーバー上に一時ファイル用のスペースがありません。

n< a href="ftp.php3">最初からやり直しますか?n";
phpftp_bottom();
} else {
if ( ! $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ) ) {
unlink( $tmpfile );
phpftp_top();
echo "FTP ログインに失敗しました!

n最初からやり直しますか?n";
phpftp_bottom();
} else {
ftp_put( $ftp, $userfile_name, $tmpfile, FTP_BINARY );
ftp_quit( $ftp );
リンク解除( $tmpfile );
phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
}
}
}

switch( $function ) {
case "dir";
phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
休憩;
ケース「CD」;
phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory );
休憩;
ケース「取得」;
phpftp_get( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_file );
休憩;
ケース「置く」;
phpftp_put( $phpftp_user, $phpftp_passwd, $phpftp_dir, $userfile, $userfile_name );
休憩;
ケース「mkdir」;
phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir );
休憩;
ケース「」;
phpftp_login();
休憩;
}

?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444933.html技術記事本篇教程是一項為php書ftp文件上传関数教程哦,php機能很强大,可用他自带的関数数实例ftp的機能,实现文件上传機能哦 本篇教程...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。