ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイルアップロード機能とアバタープレビュー機能
この記事は主にファイルアップロードとアバタープレビュー機能のPHP実装に関する関連情報を紹介します。興味のある友人はそれを参照してください
phpファイルアップロード原則はフォームフォームのenctypeを通じて行われます。 ="multipart/form-data" 属性は、ファイルを wamp フォルダーの tmp ディレクトリに一時的に配置し、バックグラウンドの php プログラムを通じてシステムにファイルを保存します。
html コード:
<form action="shangchuan.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="上传" /> </form>
バックエンド処理インターフェース (shangchuan.php):
次の点に注意する必要があります: 1. アップロードされるファイルの種類を制御する
2.アップロードしたファイルの重複を防ぐ 保存したファイル名を変更する
ユーザー名 + タイムスタンプ + 乱数 + ファイル名
シリアル番号
フォルダーを使用する場合は、事前にパスを構築する必要があります。
//判断文件上传是否出错 if($_FILES["file"]["error"]) { echo $_FILES["file"]["error"]; } else { //控制上传文件的类型,大小 if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000) { //找到文件存放的位置 $filename = "./file/".date("YmdHis").$_FILES["file"]["name"]; //转换编码格式 $filename = iconv("UTF-8","gb2312",$filename); //判断文件是否存在 if(file_exists($filename)) { echo "该文件已存在!"; } else { //保存文件 move_uploaded_file($_FILES["file"]["tmp_name"],$filename); } } else { echo "文件类型不正确!"; } }
アバターアップロードプレビュー
原則: HTMLインターフェースでアバターのサイズのpを作成し、背景を設定しますp内にアップロードされたアバター ファイルをアップロードするための入力を行い、透明度を0に設定します。
このように、このpをクリックするとアップロードと同じ効果が得られます。 <title>无标题文档</title>
<style type="text/css">
#yl{ width:200px; height:300px; background-image:url(img/11.png); background-size:200px 300px;}
#file{ width:200px; height:300px; float:left; opacity:0;}
</style>
</head>
<body>
<form id="sc" action="chuli.php" method="post" enctype="multipart/form-data" target="shangchuan">
<input type="hidden" name="tp" value="" id="tp" />
<p id="yl">
<input type="file" name="file" id="file" onchange="document.getElementById('sc').submit()" />
</p>
</form>
<iframe style="display:none" name="shangchuan" id="shangchuan">
</iframe>
</body>
<script type="text/javascript">
//回调函数,调用该方法传一个文件路径,该变背景图
function showimg(url)
{
var p = document.getElementById("yl");
p.style.backgroundImage = "url("+url+")";
document.getElementById("tp").value = url;
}
</script>
</html>
php処理インターフェース(chuli.php):
<?php if($_FILES["file"]["error"]) { echo $_FILES["file"]["error"]; } else { if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png")&& $_FILES["file"]["size"]<1024000) { $fname = "./img/".date("YmdHis").$_FILES["file"]["name"]; $filename = iconv("UTF-8","gb2312",$fname); if(file_exists($filename)) { echo "<script>alert('该文件已存在!');</script>"; } else { move_uploaded_file($_FILES["file"]["tmp_name"],$filename); unlink($_POST["tp"]); echo "<script>parent.showimg('{$fname}');</script>"; } } }
以上がPHPファイルアップロード機能とアバタープレビュー機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。