Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax和php上传文件时出错_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 使用ajax和php上传文件时出错

Javascript 使用ajax和php上传文件时出错,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在写一份登记表,包括10个文本输入和5个文件输入。表单使用jqueryajax将整个数据发布到服务器。我也在使用FormData进行同样的操作。PHP是服务器端语言 整个代码在localhost(XAMPP)上正常工作。但是当我上传到我的Web服务器时,php getimagesize()函数失败,出现错误:文件名不能为空 本地主机上的Php版本:5.3 Web服务器上的Php版本:5.2 HTML代码 <form name="drvregister" id="drvregiste

我正在写一份登记表,包括10个文本输入和5个文件输入。表单使用jqueryajax将整个数据发布到服务器。我也在使用FormData进行同样的操作。PHP是服务器端语言

整个代码在localhost(XAMPP)上正常工作。但是当我上传到我的Web服务器时,php getimagesize()函数失败,出现错误:文件名不能为空

  • 本地主机上的Php版本:5.3
  • Web服务器上的Php版本:5.2
HTML代码

<form name="drvregister" id="drvregister" action="api/driver" enctype="multipart/form-data" class="form-horizontal">
    <div class="form-group">
        <label for="firstname" class="col-lg-3 control-label">Full Name</label>
        <div class="col-lg-4">
            <input type="text" class="form-control" id="firstname" name="firstname" value="" placeholder="First Name" required="" title="Please enter your First Name">
        </div>
        <div class="col-lg-4">
            <input type="text" class="form-control" id="lastname" name="lastname" value="" placeholder="Last Name" required="" title="Please enter your Last Name">
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="emailid" class="col-lg-3 control-label">Email Address</label>
        <div class="col-lg-6">
            <input type="text" class="form-control" id="emailid" name="emailid" value="" placeholder="Email ID" required="" title="Please enter your Email ID">
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="dob" class="col-lg-3 control-label">Date of Birth</label>
        <div class="col-lg-4">
            <input type="datetime" class="form-control datepicker" id="dob" name="dob" value="" placeholder="dd/mm/yyyy" required="" title="Please enter your Date of Birth">
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="gender" class="col-lg-3 control-label">Gender</label>
        <div class="col-lg-5">
            <div class="radio">
                <label>
                    <input type="radio" class="radio" id="gender" name="gender" value="male" required="" title="Please mention your Gender"> Male
                </label>
            </div>
            <div class="radio">
                <label>
                    <input type="radio" class="radio" id="gender" name="gender" value="female" required="" title="Please mention your Gender"> Female
                </label>
            </div>
            <span class="help-block"></span>
        </div>
    </div>
    <div class="form-group">
        <label for="address" class="col-lg-3 control-label">Address</label>
        <div class="col-lg-5">
            <textarea class="form-control" rows="4" id="address" name="address" value="" placeholder="Address" required="" title="Please enter your Address"></textarea>
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="vehiclenumber" class="col-lg-3 control-label">Vehicle Reg. Number</label>
        <div class="col-lg-4">
            <input type="text" class="form-control" id="vehiclenumber" name="vehiclenumber" value="" placeholder="Vehicle Registration Number" required="" title="Please enter your vehicle registration number">
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="licensenumber" class="col-lg-3 control-label">License Number</label>
        <div class="col-lg-4">
            <input type="text" class="form-control" id="licensenumber" name="licensenumber" value="" data-toggle="tooltip" data-placement="left" placeholder="License Number" required="" title="Please enter your License Number">
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <label for="handset" class="col-lg-3 control-label">Handset Model</label>
        <div class="col-lg-4">
            <input type="text" class="form-control" id="handset" name="handset" value="" data-toggle="tooltip" data-placement="left" placeholder="Handset Model" required="" title="Please enter your Handset Model">
        </div>
        <span class="help-block"></span>
    </div>
    <fieldset class="docup">
        <legend class="docup">Upload Documents</legend>
        <div class="form-group">
            <label for="license" class="col-lg-3 control-label">License</label>
            <div class="col-lg-7">
                <input type="file" class="form-control file" accept="image/*" id="license" name="license" value="" placeholder="License" required="" title="Please Upload your License SoftCopy">
            </div>
            <span class="help-block"></span>
        </div>
        <div class="form-group">
            <label for="pancard" class="col-lg-3 control-label">PAN Card</label>
            <div class="col-lg-7">
                <input type="file" class="form-control file" accept="image/*" id="pancard" name="pancard" value="" placeholder="PAN Card" required="" title="Please Upload your PAN Card SoftCopy">
            </div>
            <span class="help-block"></span>
        </div>
        <div class="form-group">
            <label for="insurance" class="col-lg-3 control-label">Bike Insurance Papers</label>
            <div class="col-lg-7">
                <input type="file" class="form-control file" accept="image/*" id="insurance" name="insurance" value="" placeholder="Bike Insurance Papers" required="" title="Please Upload your Bike Insurance Papers SoftCopy">
            </div>
            <span class="help-block"></span>
        </div>
        <div class="form-group">
            <label for="bikepic" class="col-lg-3 control-label">Picture of your Bike</label>
            <div class="col-lg-7">
                <input type="file" class="form-control file" accept="image/*" id="bikepic" name="bikepic" value="" placeholder="Picture of your Bike" required="" title="Please Upload Picture of your Bike">
            </div>
            <span class="help-block"></span>
        </div>
        <div class="form-group">
            <label for="addressproof" class="col-lg-3 control-label">Address Proof</label>
            <div class="col-lg-7">
                <input type="file" class="form-control file" accept="image/*" id="addressproof" name="addressproof" value="" placeholder="Address Proof" required="" title="Please Upload your Address Proof SoftCopy">
            </div>
            <span class="help-block"></span>
        </div>
    </fieldset>
    <div class="form-group">
        <label id="captchaOperation" class="col-lg-3 control-label"></label>
        <div class="col-lg-3">
            <input type="text" class="form-control" name="captcha"/>
        </div>
        <span class="help-block"></span>
    </div>
    <div class="row">
        <div class="col-md-8 form-group">
            <label><input type="checkbox" name="agree" id="agree"> I Agree to terms and conditions</label>
            <span class="help-block"></span>
        </div>
    </div>
    <div class="row">
        <div class="col-md-2 col-md-offset-2 form-group">
            <button id="submit" type="submit" class="btn btn-success">Register</button>
        </div>
        <div class="col-md-2 col-md-offset-2 form-group">
            <button id="reset" type="reset" class="btn btn-default">Reset</button>
        </div>
    </div>
</form>
Php代码

public function registerdriver() {
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $emailid = $_POST['emailid'];
    $dob = $_POST['dob'];
    $gender = $_POST['gender'];
    $address = $_POST['address'];
    $vehiclenumber = $_POST['vehiclenumber'];
    $licensenumber = $_POST['licensenumber'];
    $handset = $_POST['handset'];

    $parts = explode('/', $dob);
    $date = "$parts[2]-$parts[1]-$parts[0]";

    $licensefile_ext = strrchr($_FILES["license"]["name"], '.');
    $pancardfile_ext = strrchr($_FILES["pancard"]["name"], '.');
    $insurancefile_ext = strrchr($_FILES["insurance"]["name"], '.');
    $bikepicfile_ext = strrchr($_FILES["bikepic"]["name"], '.');
    $addressprooffile_ext = strrchr($_FILES["addressproof"]["name"], '.');

    $licensefile = $content_path . date("Y-m-d") . '/' . md5(basename($_FILES["license"]["name"])) . $licensefile_ext;
    $pancardfile = $content_path . date("Y-m-d") . '/' . md5(basename($_FILES["pancard"]["name"])) . $pancardfile_ext;
    $insurancefile = $content_path . date("Y-m-d") . '/' . md5(basename($_FILES["insurance"]["name"])) . $insurancefile_ext;
    $bikepicfile = $content_path . date("Y-m-d") . '/' . md5(basename($_FILES["bikepic"]["name"])) . $bikepicfile_ext;
    $addressprooffile = $content_path . date("Y-m-d") . '/' . md5(basename($_FILES["addressproof"]["name"])) . $addressprooffile_ext;

    $this->verifyimage(); //Error Line
}

private function verifyimage() {

    $imageflag = getimagesize($_FILES["license"]["tmp_name"]); //Function breaks here "Filename cannot be empty"
    if ($imageflag === false)
        $this->returnerror("Invalid Image");
    $imageflag = getimagesize($_FILES["pancard"]["tmp_name"]);
    if ($imageflag === false)
        $this->returnerror("Invalid Image");
    $imageflag = getimagesize($_FILES["insurance"]["tmp_name"]);
    if ($imageflag === false)
        $this->returnerror("Invalid Image");
    $imageflag = getimagesize($_FILES["bikepic"]["tmp_name"]);
    if ($imageflag === false)
        $this->returnerror("Invalid Image");
    $imageflag = getimagesize($_FILES["addressproof"]["tmp_name"]);
    if ($imageflag === false)
        $this->returnerror("Invalid Image");
}
printf($\u文件)提供以下输出

Array
(
    [license] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [pancard] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [insurance] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [bikepic] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [addressproof] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

)

检查您是否有在目录中上载的适当权限…我有完全权限。问题在于getimagesize(),它在web服务器上报告为Filename empty,但它在我的PC上工作。web服务器上返回的$\u文件是什么?首先,您检查一下,您已经在服务器上获得了文件($\u文件)您的意思是回显文件名吗。我曾经尝试注释掉getimagesize(),但是函数在move\u上传的\u file()中失败。我将尝试回显文件名并返回
Array
(
    [license] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [pancard] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [insurance] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [bikepic] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

    [addressproof] => Array
        (
            [name] => 603842_893248767384667_7569544565024956810_n.jpg
            [type] => 
            [tmp_name] => 
            [error] => 6
            [size] => 0
        )

)