phpファイルのアップロード、
<?<span>php
</span><span>$allowtype</span> = <span>array</span>("gif", "png", "jpg"); <span>//</span><span>设置充许上传的类型为gif, png和jpg</span>
<span>$size</span> = 1000000; <span>//</span><span>设置充许大小为1M(1000000字节)以内的文件</span>
<span>$path</span> = "./uploads"; <span>//</span><span>设置上传后保存文件的路径
//判断文件是否可以成功上传到服务器,$_FILES['myfile']['error'] 为0表示上传成功</span>
<span>if</span>(<span>$_FILES</span>['myfile']['error'] > 0<span>) {
</span><span>echo</span> '上传错误: '<span>;
</span><span>switch</span> (<span>$_FILES</span>['myfile']['error'<span>]) {
</span><span>case</span> 1: <span>die</span>('上传文件大小超出了PHP配置文件中的约定值:upload_max_filesize'<span>);
</span><span>case</span> 2: <span>die</span>('上传文件大小超出了表单中的约定值:MAX_FILE_SIZE'<span>);
</span><span>case</span> 3: <span>die</span>('文件只被部分上载'<span>);
</span><span>case</span> 4: <span>die</span>('没有上传任何文件'<span>);
</span><span>default</span>: <span>die</span>('末知错误'<span>);
}
}
</span><span>//</span><span>判断上传的文件是否为充许的文件类型,通过文件的后缀名</span>
<span>$hz</span> = <span>array_pop</span>(<span>explode</span>(".", <span>$_FILES</span>['myfile']['name'<span>]));
</span><span>//</span><span>通过判断文件的后缀方式,来决定文件是否是充许上传的文件类型</span>
<span>if</span>(!<span>in_array</span>(<span>$hz</span>, <span>$allowtype</span><span>)) {
</span><span>die</span>("这个后缀是<b>{<span>$hz</span>}</b>,不是充许的文件类型!"<span>);
}
</span><span>/*</span><span> 也可以通过获取上传文件的MIME类型中的主类型和子类型,来限制文件上传的类型
list($maintype,$subtype)=explode("/",$_FILES['myfile']['type']);
if ($maintype=="text") { //通过主类型限制不能上传文本文件,例如.txt .html .php等文件
die('问题: 不能上传文本文件。');
} </span><span>*/</span>
<span>//</span><span>判断上传的文件是否为充许大小</span>
<span>if</span>(<span>$_FILES</span>['myfile']['size'] > <span>$size</span><span> ) {
</span><span>die</span>("超过了充许的<b>{<span>$size</span>}</b>字节大小"<span>);
}
</span><span>//</span><span>为了系统安全,也为了同名文件不会被覆盖,上传后将文件名使用系统定义</span>
<span>$filename</span> = <span>date</span>("YmdHis").<span>rand</span>(100,999).".".<span>$hz</span><span>;
</span><span>//</span><span>判断是否为上传文件</span>
<span>if</span> (<span>is_uploaded_file</span>(<span>$_FILES</span>['myfile']['tmp_name'<span>])) {
</span><span>if</span> (!<span>move_uploaded_file</span>(<span>$_FILES</span>['myfile']['tmp_name'], <span>$path</span>.'/'.<span>$filename</span><span>)) {
</span><span>die</span>('问题: 不能将文件移动到指定目录。'<span>);
}
}</span><span>else</span><span>{
</span><span>die</span>("问题: 上传文件{<span>$_FILES</span>['myfile']['name']}不是一个合法文件: "<span>);
}
</span><span>//</span><span>如果文件上传成功则输出</span>
<span>echo</span> "文件{<span>$upfile</span>}上传成功,保存在目录{<span>$path</span>}中,大小为{<span>$_FILES</span>['myfile']['size']}字节";
ログイン後にコピー
http://www.bkjia.com/PHPjc/1077540.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1077540.html技術記事 PHP ファイルのアップロード、? php $allowtype = array ("gif", "png", "jpg"); // 許可されるアップロード タイプを gif、png、および jpg に設定します $size = 1000000; // 許可されるサイズを 1000000 に設定します。 1M (1000000 バイト)...