php文件上传代码_PHP 文件上传功能实现代码

经过了几个小时的苦苦搜索,终于把这个问题给解决了.

php文件上传对于高手来说确实是小菜,可是对我新手来说就显得手足无措了.

个人认为PHP文件的上传和下载的思路差不多一样.也就是在代码中多了一个header语句

以下是详细的代码.仅供参考.

入口文件

enctype="multipart/form-data">

Filename:

" />

php写的处理文件

if( empty($_GET['FileName'])){

echo''; exit();

}

$file_name=$_GET['FileName'];//得到要下载的文件

if (!file_exists($file_name)) { //检查文件是否存在

echo "文件找不到";

exit;

} else {

$file = fopen( $file_name,"r"); // 打开文件

// 输入文件标签

Header("Content-type: application/octet-stream");

//Header("Accept-Ranges: bytes");

//Header("Accept-Length: ".filesize( $file_name));

//Header("Content-Disposition: attachment; filename=" . $file_name);

// 输出文件内容

echo fread($file,filesize( $file_name));

fclose($file);

exit();

}

?>

以上代码是自己在网上找的,可是都不很齐全.记过了一段时间的调试与修改.终于把功能实现了.由于太兴奋了第一时间拿来和大家分享了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP代码实现任意文件上传是一项非常危险的操作,容易导致安全漏洞。为了保护服务器安全,不建议直接实现任意文件上传功能。以下是一个基本的文件上传示例,但请注意仅供参考,不要在真实环境中使用: ```php <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $targetDir = "uploads/"; $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION)); // 检查文件类型 if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "只允许上传 JPG, JPEG, PNG 和 GIF 格式的文件."; $uploadOk = 0; } // 检查文件大小 if ($_FILES["fileToUpload"]["size"] > 500000) { echo "抱歉,文件过大."; $uploadOk = 0; } // 检查上传状态 if ($uploadOk == 0) { echo "抱歉,文件未上传."; } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) { echo "文件 ". basename( $_FILES["fileToUpload"]["name"]). " 已上传."; } else { echo "抱歉,上传文件时出错."; } } } ?> <!DOCTYPE html> <html> <body> <form action="" method="post" enctype="multipart/form-data"> 选择要上传的文件: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="上传文件" name="submit"> </form> </body> </html> ``` 请注意,上述示例仅用于说明文件上传的基本原理,并未包含完整的安全措施。在真实环境中,你应该对上传的文件进行更加严格的验证和过滤,确保上传的文件不会导致安全漏洞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值