问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 文件上传问题

发布网友 发布时间:2022-05-07 13:28

我来回答

5个回答

热心网友 时间:2022-04-22 08:59

找错,先看错误信息. 根据错误信息提示的行号进行找,. 如果不显示错误信息,请到php.ini查找display_error 是否处于开启状态.

如果确实是不报错的程序., 那么我建议进行一步步的打印

例如: $tmp_filename = $_FILES['myupload']['tmp_name'];

你打印print_r($tmp_filename); 大地有没有获取到这个文件

然后你再查这个:
if(!move_uploaded_file($tmp_filename,$url_this))

你打印move_uploaded_file($tmp_filename,$url_this)的时候,如果出错会返回False错误

函数说明:

move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file -- 将上传的文件移动到新位置
说明
bool move_uploaded_file ( string filename, string destination )

本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。

如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。

这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。追问打印出来是正确的可是插入数据库就成了乱码了 是oracle数据库 其他的字段插入中文就可以这字段是用varchar2类型存储的

热心网友 时间:2022-04-22 10:17


你保存的路径 与 PHP安全模式的配置参数 open_basedir 不匹配,所以目录被*访问,出现无法拷贝的警告。

你可以通过phpinfo()查看下 配置参数open_basedir的值 是多少。 差不多你就明白了。

解决方法2种,
第一是设置 open_basedir为默认值(默认值对所有目录无*)
第二种是 设置匹配路径的 open_basedir

我语文垃圾, 不知道你明白了没?

不过你还应该了解下

open_basedir是个什么东西,, 请看下面:

open_basedir string
将 PHP 所能打开的文件*在指定的目录树,包括文件本身。本指令不受安全模式打开或者关闭的影响。

当一个脚本试图用例如 fopen() 或者 gzopen() 打开一个文件时,该文件的位置将被检查。当文件在指定的目录树之外时 PHP 将拒绝打开它。所有的符号连接都会被解析,所以不可能通过符号连接来避开此*。

特殊值 . 指明脚本的工作目录将被作为基准目录。但这有些危险,因为脚本的工作目录可以轻易被 chdir() 而改变。

在 httpd.conf 文件中中,open_basedir 可以像其它任何配置选项一样用“php_admin_value open_basedir none”的方法关闭(例如某些虚拟主机中)。

在 Windows 中,用分号分隔目录。在任何其它系统中用冒号分隔目录。作为 Apache 模块时,父目录中的 open_basedir 路径自动被继承。

用 open_basedir 指定的*实际上是前缀,不是目录名。也就是说“open_basedir = /dir/incl”也会允许访问“/dir/include”和“/dir/incls”,如果它们存在的话。如果要将访问*在仅为指定的目录,用斜线结束路径名。例如:“open_basedir = /dir/incl/”。

注意: 支持多个目录是 3.0.7 加入的。

默认是允许打开所有文件。

热心网友 时间:2022-04-22 11:52

这都什么回答啊??你们回答都不看题的么?你程序的编码跟mysql 的编码不一致,你可以在上传文件的时候把文件名重定义.然后把原文件名存到数据库,取的时候再给你重命名回去就可以了

热心网友 时间:2022-04-22 13:43

题干不详,无法解答

热心网友 时间:2022-04-22 15:51

使用时间戳 给文件重命名!!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请大家看看电脑配置怎么样,值多少钱,玩大型网游,页游会不会卡 帮忙看一下旧台式电脑能卖多少钱,谢谢 高考文科考了590,排名3455,福建的,想去外省的本一,能报哪里,急啊= = 华侨大学云南省高考分数为522的能从商学院转建筑学院吗? 厦门华侨大学录取 高考志愿填报应该注意哪些问题 成熟男人戴手表好看吗,成熟男人戴什么手表? 金铲铲之战金色神将阵容怎么搭-金铲铲之战金色神将阵容搭配攻略 金铲铲之战赌蜘蛛阵容推荐 蛛后主C装备搭配攻略 金铲铲之战仙灵蜘蛛阵容搭配推荐 php中上传图片想修改信息的时候把原来的图片替换掉!该怎么写 恐怖片厉鬼将映看过之后你感觉怎么样? asp无组件上传后存储的文件是如何命名的呢? 泰国鬼片<厉鬼将映>的剧透以及上映时间 PHP上传了没文件 PHP问题$_FILES['upfile'] 跪求经典泰国恐怖片,【在线观看】免费百度云资源 php上传文件的时候$_FILES['upfile']['name']文件名后面多了一个" 《厉鬼将映》到底讲了什么事? 厉鬼将映的剧情谁知道 请问一下以下PHP上传文件代码是什么意思,有一小部分搞不懂 为什么$_POST["upfile"]没有内容 upfile.asp是什么意思 is_uploaded_file($_FILES['upfile']['tmp_name'] 后的['tmp_name'] 什么意思 最近在琢磨url http html upfile的区别是什么?感觉前三个都是网址的意思呢!晕!+_+谢谢啦! php中$upfile=$_FILES["upfile"];什么意思 只要解释这句话就行 如何画房子内观 淘宝店铺因为售假三次违规被封店之后,1000元保证金怎么取出来 我淘宝保证金里面的1000块怎么会跑到保险里面去了,我要怎么取出来,大神帮忙解决一下 怎么把支付宝消费者保障冻结的1千元钱拿出来 一部泰国的老鬼片 关于php文件上传 怎么快速查询银行卡余额 OPPOR9PIUS微信听筒模式怎么关 oppo a33手机微信上的听筒模式怎么关掉? 中原银行怎么查日均资产? 苹果手机怎么下载racebeat手环app? 广东酱油焗鸭的做法,焗鸭怎么做最好吃 焗鸭怎么做好吃 你好,这个是买OPPO手机赠送的手环,请问一下怎么使用,需要下载什么APP? 家政服务平台有哪些? 爱一个人,能有多久 雪鞋boa旋钮掉下来了 斐乐boa锁扣鞋如何解锁变松动 在金蝶财务软件中经常提到套打,请问套打是什么意思? 爱一个人可以坚持多久? 金蝶专业版只保存自己的套打模板什么意思 什么是金蝶套打设计 爱一个人能爱多久?科学上来讲! boa 的身高具体 是多少?