首頁  >  文章  >  後端開發  >  请教PHP上传文件的接收代码问题

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

WBOY
WBOY原創
2016-06-23 13:48:08924瀏覽

小弟初学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大虾,困扰一天的问题终于解决了!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn