簡體   English   中英

在jQuery File Upload插件中設置變量上傳路徑

[英]Setting a variable upload path in jQuery File Upload plugin

我正在使用blueimp jQuery File Upload插件在此處提供文檔 ),但是在包含配置文件(指示在各種計算機上的上載目錄的位置)時遇到了麻煩。

之所以需要這樣做,是因為本地開發服務器上的uploads文件夾的相對路徑與生產服務器(使用Capistrano的/shared/文件夾)上的相對路徑不同。

因此,我們處理此問題的方法是在一個名為constants.php的文件中設置一個常數,以表示各個計算機上的上載文件夾的路徑,該文件從一個特定於機器的配置文件config.php中讀取。

然后,我在上載程序處理程序( UploaderHandler.php )中包含constants.php

問題在於在UploaderHandler.php包含文件會導致上傳UploaderHandler.php在開始上傳后輸出SyntaxError: Unexpected token <這是屏幕截圖 )。

知道這里發生了什么嗎? 任何幫助表示贊賞! 如果需要,我可以澄清問題:)

相關代碼摘錄如下:

/includes/constants.php

<?php 

# Grab machine-specific config file
include('config.php');

# Setup Constants for Steven's Machine
if ($_ENV["machine"] == "steven"){
  define('WEB_DIR', "c:/wamp/www/ourproject");
  define('SHARED', "c:/wamp/www/ourproject/shared");

# Setup Constants for Andrew's Machine
} elseif($_ENV["machine"] == "andy"){
  define('WEB_DIR', "/Applications/MAMP/htdocs/ourproject");
  define('SHARED', "/Applications/MAMP/htdocs/ourproject/shared");

# Setup Constants for Other Machines
} else {
  define('WEB_DIR', realpath($_SERVER["DOCUMENT_ROOT"]));
  define('SHARED', "/srv/www/ourwebsite.com/htdocs/shared");
}

?>

/includes/config.php

<?php

# Set the name of your machine
$_ENV["machine"] = "andy";

?>

/file-uploader/server/php/UploadHandler.php

<?php

include('../../../includes/constants.php');

class UploadHandler
{

... // Some code omitted

    function __construct($options = null, $initialize = true, $error_messages = null) {
        $this->options = array(
            'script_url' => $this->get_full_url().'/',
            'upload_dir' => SHARED.'/uploads/shipping/',
            'upload_url' => WEB_DIR.'/uploads/shipping/',
            'user_dirs' => false,
            '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',
            'access_control_allow_origin' => '*',
            'access_control_allow_credentials' => false,
            'access_control_allow_methods' => array(
                'OPTIONS',
                'HEAD',
                'GET',
                'POST',
                'PUT',
                'PATCH',
                'DELETE'
            ),

... // More code omitted
?>            

開發者控制台輸出:

<br />
<b>Notice</b>:  Constant WEB_DIR already defined in <b>/Applications/MAMP/htdocs/ourproject/includes/constants.php</b>     on line <b>13</b><br />
<br />
<b>Notice</b>:  Constant SHARED already defined in <b>/Applications/MAMP/htdocs/ourproject/includes/constants.php</b> on     line <b>14</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at     /Applications/MAMP/htdocs/ourproject/includes/constants.php:13) in <b>/Applications/MAMP/htdocs/ourproject/file-    uploader/server/php/UploadHandler.php</b> on line <b>1074</b><br />
{"files":[{"name":"photo (1).    PNG","size":91006,"type":"image\/png","url":"\/Applications\/MAMP\/htdocs\/ourprojectuploads\/shipping\/photo%20%281%29.    PNG","thumbnailUrl":"\/Applications\/MAMP\/htdocs\/ourprojectuploads\/shipping\/thumbnail\/photo%20%281%29.    PNG","deleteUrl":"http:\/\/localhost:8888\/ourproject\/file-uploader\/server\/php\/?file=photo%20%281%29.    PNG","deleteType":"DELETE"}]}

聽起來好像從UploaderHandler返回的json字符串不是有效的json。 也許您會在輸出中得到一些警告。

您可以使用瀏覽器開發人員工具進行檢查。 輸出將引導您進入正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM