搭建好php服务器无法上传文件,php本地上传附件成功,服务器不成功,提示未选择文件...

1.我设置了iis6的上传文件限制,ASPMaxRequestEntityAllowed 把它修改为需要的值(20480000)

2.php.ini设置如下,但还是上传不成功,大神们说说哪里错了,还是我缺少哪个东西了(备注:小于8MB是可以上传成功的)

[PHP]

max_execution_time = 600 ; Maximum execution time of each script, in seconds

max_input_time = 600 ; Maximum amount of time each script may spend parsing request data

;max_input_nesting_level = 64 ; Maximum input variable nesting level

memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)

post_max_size = 50M

; Whether to allow HTTP file uploads.

file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not

; specified).

upload_tmp_dir ="C:/PHP/tmp"

; Maximum allowed size for uploaded files.

upload_max_filesize = 30M

; Maximum number of files that can be uploaded via a single request

max_file_uploads = 30

回复讨论(解决方案)

提示的错误信息能否提供看下?

错误信息是什么

echo $_FILES['file']['error']; 看看

错误信息是什么

echo $_FILES['file']['error']; 看看

根本没有错误提示啊,最后只会是未选择文件,小于8MB就行

错误信息是什么

echo $_FILES['file']['error']; 看看

根本没有错误提示啊,最后只会是未选择文件,小于8MB就行

可能你改错了文件

改后需重启 IIS

贴出你上传代码看看

错误信息是什么

echo $_FILES['file']['error']; 看看

根本没有错误提示啊,最后只会是未选择文件,小于8MB就行

小于8M就行?明显的超过限制了。跟程序应该没关系,不过这程序里写的提示信息有问题。

改错配置文件了吧。用phpinfo函数来查看下配置文件是哪个。

错误信息是什么

echo $_FILES['file']['error']; 看看

根本没有错误提示啊,最后只会是未选择文件,小于8MB就行

小于8M就行?明显的超过限制了。跟程序应该没关系,不过这程序里写的提示信息有问题。

改错配置文件了吧。用phpinfo函数来查看下配置文件是哪个。

哥,你是对的,phpinfo函数看出确实改错了配置文件了。结贴

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

下面是一个基于PHP.Mysql,apache搭建的具有上传下载文件功能的网页示例: 1. 首先,在服务器上创建一个目录,用于保存上传文件。比如,可以在/var/www/html目录下创建一个uploads目录: ``` $ sudo mkdir /var/www/html/uploads ``` 2. 在/var/www/html目录下创建一个index.php文件,用于实现文件上传和下载功能: ```php <!DOCTYPE html> <html> <head> <title>文件上传下载</title> </head> <body> <h2>上传文件</h2> <form action="index.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="submit" value="上传"> </form> <br> <h2>下载文件</h2> <ul> <?php // 遍历/uploads目录下的所有文件,生成下载链接 $dir = "/var/www/html/uploads/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { echo '<li><a href="download.php?file='.$file.'">'.$file.'</a></li>'; } } closedir($dh); } } ?> </ul> </body> </html> <?php // 处理文件上传 if (isset($_FILES['file'])) { $file = $_FILES['file']; $target_dir = "/var/www/html/uploads/"; $target_file = $target_dir . basename($file["name"]); if (move_uploaded_file($file["tmp_name"], $target_file)) { echo "文件上传成功!"; } else { echo "文件上传失败!"; } } ?> ``` 上面的代码中,通过HTML表单实现文件上传,将上传文件保存到服务器上的/uploads目录下。通过遍历/uploads目录下的所有文件,生成下载链接,实现文件下载功能。 3. 在/var/www/html目录下创建一个download.php文件,用于实现文件下载功能: ```php <?php // 从GET参数中获取要下载的文件名 $file = $_GET['file']; // 拼接文件路径 $filepath = "/var/www/html/uploads/".basename($file); // 判断文件是否存在 if (file_exists($filepath)) { // 下载文件 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filepath)); header('Content-Length: ' . filesize($filepath)); readfile($filepath); } else { echo "文件不存在!"; } ?> ``` 上面的代码中,根据GET参数获取要下载的文件名,拼接文件路径,判断文件是否存在,若存在则以附件形式下载文件。 4. 最后,设置/uploads目录的文件权限,确保PHP可以读写该目录中的文件: ``` $ sudo chmod -R 777 /var/www/html/uploads ``` 通过上述步骤,就可以在PHP.Mysql,apache环境下搭建一个具有上传下载文件功能的网页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值