导航:首页 > 编程语言 > geterrorphp

geterrorphp

发布时间:2022-10-01 01:20:57

A. php服务器文件上传大小被限制如何修改

  1. 打开php.ini,

    首先找到file_uploads = on
    ;是否允许通过HTTP上传文件的开关。默认为ON即是开
    upload_tmp_dir
    ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
    upload_max_filesize = 8m
    ;即允许上传文件大小的最大值。默认为2M
    post_max_size = 8m
    ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
    一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。

  2. 进一步配置以下的参数
    max_execution_time = 600
    ;每个PHP页面运行的最大时间值(秒),默认30秒
    max_input_time = 600
    ;每个PHP页面接收数据所需的最大时间,默认60秒
    memory_limit = 8m
    ;每个PHP页面所吃掉的最大内存,默认8M
    把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
    max_execution_time
    = 600
    max_input_time = 600
    memory_limit = 32m
    file_uploads =
    on
    upload_tmp_dir = /tmp
    upload_max_filesize = 32m
    post_max_size =
    32m

B. php 怎么正确输出js中$up->getErrorMsg()方法的信息

echo"<script>alert('{$up->getErrorMsg()}');</script>";

或者

echo'<script>alert("'.$up->getErrorMsg().'");</script>';

C. Thinkphp怎么开启详细错误提示而不是出现哭脸

下面是文档例子:$User=D("User");//实例化User对象if(!$User->create()){//如果创建失败表示验证没有通过输出错误提示信息exit($User->getError());}else{//验证通过可以进行其他数据操作}你用的这个方法$user->getDbError()不对吧。

D. php上传文件提示成功但没有存进数据库

$sql="insert into t_file(f_title,f_remark,f_file,f_upload_time) values('$title','$remark','$file',now())";
这里的now()是取当前时间么?没用过这个方法,貌似php手册里面也没有哦,不知道是不是你自定义的,如果不是的话,应该报错的,直接用time()吧。

E. php调用webservice,nusoap出错

改成$client = new soapclient('http://localhost/nusoap/nusoap_server1.php?WSDL');

F. ThinkPHP自动验证错误结果如何ajax到前台

if(!$this->User->create()){
//如果创建失败表示验证没有通过输出错误提示信息
$this->error($this->User->getError());
}
$.ajax({
url:"",
type:'POST',
dataType:'json',
data:{},
success:function(data){
if(data.status){
alert(data.info);
}else{
alert(data.info);
}
}
});

G. PHP报错GET方式传值问题、

$id = $_GET['id']; 在赋值钱使用isset检查下

另外你说的这些无助与你的问题,
你可以通过index.php?id=1直接打开那个页面来测试,跟他是否是a标签没太大关系

H. 请问PHP中同一个类中怎么访问不同方法的变量

PHP中同一个类中怎么访问不同方法的变量,我觉得这要看你访问的变量的作用范围,如果这个变量的作用范围是类,那么只要是同一个类里的方法,都可以访问。

如果这个变量的作用范围只在类的方法里,则可以采取的办法:

1. 修改或定义变量的作用域为全局。
2. 拆分方法,将变量的结果作为一个结果返回。

I. php 编写 实现上传图片至服务器的函数

<?php
classFileUpload{
private$filepath;//指定上传文件保存的路径
private$allowtype=array("gif","jpg","jpeg","png");//允许上传文件的类型
private$maxsize=1000000;//允许上传文件的最大值
private$israndname=true;//是否随机重命名,
private$originName;//源文件名字
private$tmpFileName;//临时文件名字
private$fileType;//上传后的文件类型,主要是文件后缀名
private$fileSize;//文件尺寸
private$newFileName;//新文件名字
private$errorName=0;//错误号
private$errorMess="";//用来提供错误报告
//用于对上传文件初始化
//指定上传路径2·允许的类型3·限制大小4·是否使用随机文件名称
//让用户可以不用换位置传参数,后面参数给值不用按照位置或者必须有值
function__construct($options=array()){
foreach($optionsas$key=>$val){
$key=strtolower($key);
//查看用户参数中的数组下标是否和成员属性名相同
//get_class_vars(get_class($this))得到类属性的数组
//如果$key下标不在这个类属性的数组中,则退出for循环
if(!in_array($key,get_class_vars(get_class($this)))){
continue;
}
$this->setOption($key,$val);
}
}
privatefunctionsetOption($key,$val){
//让实例化后获取过来的数组下标=数组下标的值,这里即为构造函数初始化
//构造函数中调用,等于把所有属性初始化,将来可以直接访问
$this->$key=$val;
}

privatefunctiongetError(){
$str="上传文件{$this->originName}时出错";
switch($this->errorNum){
case4:$str.="没有文件被上传";
break;
case3:$str.="文件只有部分上传";
break;
case2:$str.="上传文件超过了表单的值";
break;
case1:$str.="上传文件超过phpini的值";
break;
case-1:$str.="未允许的类型";
break;
case-2:$str.="文件过大上传文件不能超过{$this->maxsize}字节";
break;
case-3:$str.="上传文件失败";
break;
case-4:$str.="建立存放上传文件目录失效,请重新上传指定目录";
break;
case-5:$str.="必须指定上传文件的路径";
break;
default:$str.="未知错误";
}
return$str.'<br>';
}
//用来检查文件上传路径
privatefunctioncheckFilePath(){
if(empty($this->filepath)){
$this->setOption("errorNum",-5);
returnfalse;
}
if(!file_exists($this->filepath)||!is_writable($this->filepath)){
if(!@mkdir($this->filepath,0755)){
$this->setOption("errorNum",-4);
returnfalse;
}
}
returntrue;
}
//用来检查上传文件尺寸大小

privatefunctioncheckFileSize(){
if($this->fileSize>$this->maxsize){
$this->setOption("errorNum",-2);
returnfalse;
}else{
returntrue;
}
}

//用来检查文件上传类型
privatefunctioncheckFileType(){
if(in_array(strtolower($this->fileType),$this->allowtype)){
returntrue;
}else{
//如果$this->fileType这个类型不在$this->allowtype这个数组中,则把错误号变成-1
$this->setOption("errorNum",-1);
returnfalse;
}
}
privatefunctionsetNewFileName(){
if($this->israndname){
$this->setOption("newFileName",$this->preRandName());
}else{
$this->setOption("newFileName",$this->originName);
}
}
//用于检查文件随机文件名
privatefunctionpreRandName(){
$fileName=date("Ymdhis").rand(100,999);
return$fileName.".".$this->fileType;
}
//用来上传一个文件

functionuploadFile($fileField){
//检查文件路径
$return=true;
if(!$this->checkFilePath()){
$this->errorMess=$this->getError();
returnfalse;
}//获取文件信息
$name=$_FILES[$fileField]['name'];
$tmp_name=$_FILES[$fileField]['tmp_name'];
$size=$_FILES[$fileField]['size'];
$error=$_FILES[$fileField]['error'];
if(is_array($name)){//判断获取过来的文件名字是否为数组
$errors=array();//如果为数组则设置为一个数组错误号
for($i=0;$i<count($name);$i++){
//循环每个文件即每个类属性赋值或者说初始化属性值或者初始化构造函数
if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){
if(!$this->checkFileSize()||!$this->checkFileType()){
//如果上面尺寸或者类型不对,则调用这个错误信息
$errors[$i]=$this->getError();
$return=false;
}
}else{
//这里是
$error[]=$this->getError();
$return=false;
}
if(!$return)
$this->setFiles();
}

if($return){
$fileNames=array();
for($i=0;$i<count($name);$i++){
if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){
$this->setNewFileName();
if(!$this->File()){
$errors=$this->getError();
$return=false;
}else{
$fileNames[$i]=$this->newFileName;
}
}

}
$this->newFileName=$fileNames;
}

$this->errorMess=$errors;
return$return;


}else{

//看看$name,$tmp_name,$size,$error这些是否赋值成功否则返回FALSE
if($this->setFiles($name,$tmp_name,$size,$error)){
//看看文件大小尺寸是否匹配,不匹配返回FALSE
if($this->checkFileSize()&&$this->checkFileType()){
//获取新文件名
$this->setNewFileName();
if($this->File()){
returntrue;
}else{
returnfalse;
}
}else{
$return=false;
}
}else{
$return=false;
}
if(!$return){
$this->errorMess=$this->getError();
return$return;
}
}

}

functionFile(){//将文件从临时目录拷贝到目标文件夹
if(!$this->errorNum){
//如果传递来的路径有斜杠,则删除斜杠再加上斜杠
//./upload+./
$filepath=rtrim($this->filepath,'/').'/';
//./upload+./+加上随机后的新文件名和后缀
//这里指创建一个新的$filepath.这个文件像占位符但是为空的
$filepath.=$this->newFileName;
//尝试着把临时文件$this->tmpFileName移动到$filepath下哪里覆盖原来的这个文件
if(@move_uploaded_file($this->tmpFileName,$filepath)){
returntrue;
}else{
$this->setOption('errorNum',-3);
returnfalse;
}
}else{
returnfalse;
}
}
//这里是为了其他剩余的属性进行初始化操作!
privatefunctionsetFiles($name="",$tmp_name="",$size=0,$error=0){
//这里给错误号赋值
$this->setOption("errorNum",$error);
//如果这里有错误,直接返回错误
if($error){
returnfalse;
}
$this->setOption("originName",$name);//复制名字为源文件名
$this->setOption("tmpFileName",$tmp_name);
$arrstr=explode(".",$name);//按点分割文件名,
//取分割后的字符串数组最后一个并转换为小写,赋值为文件类型
$this->setOption("fileType",strtolower($arrstr[count($arrstr)-1]));
$this->setOption("fileSize",$size);
returntrue;
}
//用来获取上传后的文件名
functiongetNewFileName(){
return$this->newFileName;
}

//上传失败,后则返回这个方法,就可以产看报告
functiongetErrorMsg(){
return$this->errorMess;
}
}
?>


============================调用====================================


<?php
require("FileUpload.class.php");
//这里实例化后赋值为数组,数组的下标要对应类中属性的值,否则不能传递值,可以不分先后但是必须一致
$up=newFileUpload(array('israndname'=>'true',"filepath"=>"./upload/",'allowtype'=>array('txt','doc','jpg','gif'),"maxsize"=>1000000));
echo'<pre>';

if($up->uploadFile("pic")){
print_r($up->getNewFileName());
}else{
print_r($up->getErrorMsg());
}
echo'<pre>';
?>


-------------------HTML-------------------------
<html>
<head>
<metahttp-quive="content-type"content="text/html;charset=utf-8"></meta>
</head>
<body>
<formaction="upload.php"method="post"enctype="multipart/form-data">
shoppic:<inputtype="file"name="pic[]"><br>

<inputtype="hidden"name="MAX_FILE_SIZE"value="1000000">
<inputtype="submit"name="sub"value="添加商品">
</form>
</body>

</html>

-------------------或者HTML-------------------------

<html>
<head>
<metahttp-quive="content-type"content="text/html;charset=utf-8"></meta>
</head>
<body>
<formaction="upload.php"method="post"enctype="multipart/form-data">
//区别在这里
shoppic:<inputtype="file"name="pic[]"><br>
shoppic:<inputtype="file"name="pic[]"><br>
shoppic:<inputtype="file"name="pic[]"><br>
<inputtype="hidden"name="MAX_FILE_SIZE"value="1000000">
<inputtype="submit"name="sub"value="添加商品">
</form>
</body>

</html>
=====================================================================



以上是自己总结的 还没有怎么精简加工过,仅供参考

以上不止可以上传图片,可以上自定义任何文件

阅读全文

与geterrorphp相关的资料

热点内容
官神夏想几个老婆 浏览:248
看片网站知乎 浏览:59
张鸣pdf 浏览:172
王者区苹果怎么转安卓 浏览:77
蛇的电影免费的完整版 浏览:29
哈萨克 电影 浏览:985
少女大尺度电影禁片 浏览:210
python列表get的用法 浏览:832
安卓平板如何用外接键盘玩游戏 浏览:289
汉中地面波加密了吗 浏览:796
成龙演的五行拳的电影 浏览:297
python字符串转string 浏览:357
在电影院不要说话用英语怎么说 浏览:807
重生香江开银行建立财团的小说 浏览:128
已上传到服务器什么意思 浏览:449
R命令dim 浏览:653
苹果ipad编程软件 浏览:282
javaodbcaccess 浏览:769
云服务器怎么对接 浏览:417
股票分时图源码 浏览:912