繁体   English   中英

jQuery文件上传PHP

[英]Jquery file upload php

我的文件上传器出现问题,它给我一个SyntaxError:意外的令牌<...我不知道它来自哪里,我一直在找一天,但似乎找不到答案,有人可以给我一些建议吗? 。 (某些照片确实可以上传,但是当出现该错误时,它只会使缩略图没有帮助的希望。我认为该错误位于此处。在此感谢高级

<?php
/*
 * jQuery File Upload Plugin PHP Class 8.2.3
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2010, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

class UploadHandler
{
protected $options;

// PHP File Upload error message codes:
// http://php.net/manual/en/features.file-upload.errors.php
protected $error_messages = array(
    1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini',
    2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
    3 => 'The uploaded file was only partially uploaded',
    4 => 'No file was uploaded',
    6 => 'Missing a temporary folder',
    7 => 'Failed to write file to disk',
    8 => 'A PHP extension stopped the file upload',
    'post_max_size' => 'The uploaded file exceeds the post_max_size directive in php.ini',
    'max_file_size' => 'File is too big',
    'min_file_size' => 'File is too small',
    'accept_file_types' => 'Filetype not allowed',
    'max_number_of_files' => 'Maximum number of files exceeded',
    'max_width' => 'Image exceeds maximum width',
    'min_width' => 'Image requires a minimum width',
    'max_height' => 'Image exceeds maximum height',
    'min_height' => 'Image requires a minimum height',
    'abort' => 'File upload aborted',
    'image_resize' => 'Failed to resize image'
);

protected $image_objects = array();

function __construct($options = null, $initialize = true, $error_messages = null) {
    $this->response = array();
    $this->options = array(
        'script_url' => $this->get_full_url().'/index.php?'.$_SERVER['QUERY_STRING'].'&',
        'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/uploaddir/',
        'upload_url' => $this->get_full_url().'/uploaddir/',
        //'user_dirs' => false,
        'user_dirs' => true,
        'mkdir_mode' => 0755,
        'param_name' => 'files',
        // Set the following option to 'POST', if your server does not support
        // DELETE requests. This is a parameter sent to the client:
        //'delete_type' => 'DELETE',
        'delete_type' => 'POST',
        'access_control_allow_origin' => '*',
        'access_control_allow_credentials' => false,
        'access_control_allow_methods' => array(
            'OPTIONS',
            'HEAD',
            'GET',
            'POST',
            'PUT',
            'PATCH',
            'DELETE'
        ),
        'access_control_allow_headers' => array(
            'Content-Type',
            'Content-Range',
            'Content-Disposition'
        ),
        // Enable to provide file downloads via GET requests to the PHP script:
        //     1. Set to 1 to download files via readfile method through PHP
        //     2. Set to 2 to send a X-Sendfile header for lighttpd/Apache
        //     3. Set to 3 to send a X-Accel-Redirect header for nginx
        // If set to 2 or 3, adjust the upload_url option to the base path of
        // the redirect parameter, e.g. '/files/'.
        'download_via_php' => false,
        // Read files in chunks to avoid memory limits when download_via_php
        // is enabled, set to 0 to disable chunked reading of files:
        'readfile_chunk_size' => 100 * 1024 * 1024, // 10 MiB
        // Defines which files can be displayed inline when downloaded:
        'inline_file_types' => '/\.(gif|jpe?g|png)$/i',
        // Defines which files (based on their names) are accepted for upload:
        'accept_file_types' => '/.+$/i',
        // The php.ini settings upload_max_filesize and post_max_size
        // take precedence over the following max_file_size setting:
        'max_file_size' => null,
        'min_file_size' => 1,
        // The maximum number of files for the upload directory:
        'max_number_of_files' => null,
        // Defines which files are handled as image files:
        'image_file_types' => '/\.(gif|jpe?g|png)$/i',
        // Use exif_imagetype on all files to correct file extensions:
        'correct_image_extensions' => false,
        // Image resolution restrictions:
        'max_width' => null,
        'max_height' => null,
        'min_width' => 1,
        'min_height' => 1,
        // Set the following option to false to enable resumable uploads:
        'discard_aborted_uploads' => true,
        // Set to 0 to use the GD library to scale and orient images,
        // set to 1 to use imagick (if installed, falls back to GD),
        // set to 2 to use the ImageMagick convert binary directly:
        'image_library' => 1,
        // Uncomment the following to define an array of resource limits
        // for imagick:
        /*
        'imagick_resource_limits' => array(
            imagick::RESOURCETYPE_MAP => 32,
            imagick::RESOURCETYPE_MEMORY => 32
        ),
        */
        // Command or path for to the ImageMagick convert binary:
        'convert_bin' => 'convert',
        // Uncomment the following to add parameters in front of each
        // ImageMagick convert call (the limit constraints seem only
        // to have an effect if put in front):
        /*
        'convert_params' => '-limit memory 32MiB -limit map 32MiB',
        */
        // Command or path for to the ImageMagick identify binary:
        'identify_bin' => 'identify',
        'image_versions' => array(
            // The empty image version key defines options for the original image:
            '' => array(
                // Automatically rotate images based on EXIF meta data:
                'auto_orient' => false
            ),
            // Uncomment the following to create medium sized images:

            'medium' => array(
                'max_width' => 800,
                'max_height' => 600
            ),

            'thumbnail' => array(
                // Uncomment the following to use a defined directory for the thumbnails
                // instead of a subdirectory based on the version identifier.
                // Make sure that this directory doesn't allow execution of files if you
                // don't pose any restrictions on the type of uploaded files, e.g. by
                // copying the .htaccess file from the files directory for Apache:
                //'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/medium/',
                //'upload_url' => $this->get_full_url().'/medium/',
                // Uncomment the following to force the max
                // dimensions and e.g. create square thumbnails:
                'crop' => true,
                'max_width' => 800,
                'max_height' => 600
            )
        ),
        'print_response' => true
    );
    if ($options) {
        $this->options = $options + $this->options;
    }
    if ($error_messages) {
        $this->error_messages = $error_messages + $this->error_messages;
    }
    if ($initialize) {
        $this->initialize();
    }
}

错误从何而来。 您是否检查过php日志。 1.默认情况下,它将在php错误日志中。 2.尾随日志并再次运行呼叫,您应该获取线路号并开枪。

希望能有所帮助

此错误意味着在ajax响应中,我们使用错误的JSON语法(即某些'<'

可以肯定的尝试:在javascript删除dataType:'json'并在函数success添加类似以下内容(如果您使用Google Chrome浏览器查看console.log()结果,请不要忘记按ctrl+shift+j ):

success: function(data){ 
    console.log(data); 
    // alert(data); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM