簡體   English   中英

為什么PHP變量無法與blueimp jquery文件上傳一起使用

[英]Why are PHP variables not working with blueimp jquery file upload

我最近開始使用blueimp jquery文件上傳,但是我偶然發現了一個問題。

我想將php變量分配給圖像應該上傳到的路徑。

這是代碼

 $haha = $_COOKIE['nameofcookie'];

 function __construct($options = null, $initialize = true) {
    $this->options = array(
        'script_url' => $this->get_full_url().'/',
        'upload_dir' => '../../../mem/$haha/',
        'upload_url' => 'http://www.mydomain.co.uk/mem/$haha/',
        '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'
        ),

$ haha​​是我分配給放置在用戶上的cookie的PHP變量。

但是,當我執行代碼時,它將創建一個名為$ haha​​的目錄-而不是用戶的ID。

我嘗試使用“ $ haha​​”或'。 $ haha​​。 ”,但這些都不起作用。

有人可以幫忙嗎? 如果可以的話,將不勝感激。

使用雙引號而不是單引號(並閱讀一些有關字符串的文檔

"http://www.mydomain.co.uk/mem/$haha/",

您有幾種選擇...

我最喜歡的sprintf使用%d表示整數或使用%s表示字符串:

'upload_dir' => sprintf("../../../mem/%d/", $haha),
'upload_url' => sprintf("http://www.mydomain.co.uk/mem/%d/", $haha),

或使用雙引號:

'upload_dir' => "../../../mem/{$haha}/",
'upload_url' => "http://www.mydomain.co.uk/mem/{$haha}/",

試試這一行:

'upload_dir' => '../../../mem/'.$haha.'/',
'upload_url' => 'http://www.mydomain.co.uk/mem/'.$haha.'/',

希望對您有幫助

您必須使用“ $ this->”,因為它在一個類中。 然后,您必須使用雙引號或連接運算符(看起來像一個句點):

'upload_dir' => '../../../mem/'.$this->haha.'/',
'upload_url' => 'http://www.mydomain.co.uk/mem/'.$this->haha.'/',

在您的課程中,必須使用“ var”定義$ haha​​:

var $haha = $_COOKIE['nameofcookie'];

請用

'http://www.mydomain.co.uk/mem/"'.$haha.'"/',

代替:

'http://www.mydomain.co.uk/mem/$haha/',

看一下構造函數,它允許您傳遞必須為數組的$ options。 $ options將與$ this-> options合並。

  if ($options) {
        $this->options = array_merge($this->options, $options);
    }

上面的語句顯示了它的工作方式。

現在,我解釋如何將路徑傳遞給構造函數:1.首先為該類聲明一個對象:

 $options=array('upload_url'=>'your/path','upload_dir'=>'your/path');
 $uploadHandler=  new UploadHandler($options);

這是根據需要設置upload_url和upload_path。

注意:如果$ options中的鍵與構造函數中定義的鍵匹配,則這些值將覆蓋在構造函數中為該鍵存儲的值,並且當鍵不匹配時,將添加鍵值對。

$ haha​​ = $ _COOKIE ['nameofcookie']; 該變量似乎是類變量。 您還需要牢牢把握OOP概念。 在類方法內部訪問類變量時,應使用$ this-> haha​​。

暫無
暫無

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

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