Home  >  Article  >  Backend Development  >  请教PHP上传文件的接收代码问题

请教PHP上传文件的接收代码问题

WBOY
WBOYOriginal
2016-06-23 13:48:08924browse

小弟初学PHP,想要了解POST上传文件至服务端与服务端接收并保存文件的流程,从网上找了两段代码,但一直调不通,找不到问题所在,向版上大虾求教,代码如下:
1. 上传代码

<form enctype="multipart/form-data" action="upload.php" method="post"><label for="file">请选择上传的文件</label><input type="file" name="file" size="40" /><br /><input type="submit" name="submit" value="确定" /></form>

2. 服务端代码
<?php//文件存储路径$file_path="upload/";//664权限为文件属主和属组用户可读和写,其他用户只读。if(is_dir($file_path)!=TRUE) mkdir($file_path,0664) ;//定义允许上传的文件扩展名$ext_arr = array("gif", "jpg", "jpeg", "png", "bmp", "txt", "zip", "rar");if (empty($_FILES) === false) {    //判断检查    if($photo_up_size > 2097152){        exit("对不起,您上传的照片超过了2M。");    }    if($_FILES["file"]["error"] > 0){        exit("文件上传发生错误:".$_FILES["file"]["error"]);    }    //获得文件扩展名    $temp_arr = explode(".", $_FILES["file"]["name"]);    $file_ext = array_pop($temp_arr);    $file_ext = trim($file_ext);    $file_ext = strtolower($file_ext);    //检查扩展名    if (in_array($file_ext, $ext_arr) === false) {        exit("上传文件扩展名是不允许的扩展名。");    }    //以时间戳重命名文件    $new_name = time().".".$file_ext;    //将文件移动到存储目录下    move_uploaded_file($_FILES["file"]["tmp_name"],"$file_path" . $new_name);    //向数据表写入文件存储信息以便管理    //*********** 代码略 ***********//    echo "文件上传成功!";    exit;} else {    echo "无正确的文件上传";}?>

3. 问题现象
通过上传代码选择文件,点击上传后,没有收到正确回复,而是显示了PHP服务端的代码,如下图所示:


回复讨论(解决方案)

看截图就知道,你不是以http方式访问的。
file:///c:/wamp/www/upload.php

1.首先你要启动wamp服务器。
2.把第一段代码保存为upload.html,保存在c:/wamp/www/文件夹
3.把第二段代码保存为upload.php,保存在c:/wamp/www/文件夹
4.在c:/wamp/www/,创建一个upload的folder
5.用http://localhost/upload.html访问。然后就可以了。

多谢fdipzone大虾,困扰一天的问题终于解决了!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn