2012-03-28 12 views
1

これを行う方法に関するヒントは素晴らしいでしょう。私はjQuery初心者です。ここではjquery file upload demoユーザーまたはIPごとにblueimp jqueryファイルアップロードのサムギャラリーの表示を制限する方法は?

ユーザーインスタンスごとにサムギャラリーの行の表示を制限する必要があります。私はそれを行うための最善の方法を本当に知っていませんし、提案に開放しています。

私はオプションが ::訪問したIPごとにIDを作成して、何とかIPが に一致した場合、そのIPのみ表示親指ギャラリー行で変数を作成::やクッキーを宣言し、クッキー

と一致するだろうと推測します

答えて

0

--Sandraおかげで私はquirksmode cookieCreateとcookieRead時間に変更された機能(というよりも日)を使用して、クッキーの道を行ってきました。クッキーの値は5桁の英数字の文字列(これに基づくスクリプトforum)です。

クッキーを作成して読み取る関数は、上記のリンクを使ってquirksmodeからフェッチする必要がありますが、ここでコピーしなかったので、クッキー値の関数は以下のとおりです。これが誰かを助けることを望みます。参考までに、「チーズ」はクッキーの価値です。

アルターのupload.class.php(サーバー/ PHPのディレクトリ)とライン217ライン217は

$file_name = trim(basename(stripslashes($name)), ".\x00..\x20"); 

$file_name = trim(basename(stripslashes($name)), ".\x00..\x20"); 
// add filename prefix 
$file_name = $_COOKIE['user'].'_'.$file_name; 

を次のようにファイル名を変更する行を追加した後の行を追加します。そのユーザーのファイルのみを表示するには、次のようにhtmlファイルを編集します。

オリジナルコード

012コード

<!-- The template to display files available for download --> 
<script id="template-download" type="text/x-tmpl"> 
{% for (var i=0, file; file=o.files[i]; i++) { %} 
{% grab_the_cheese = file.name.split('_'); %} 
{% if (grab_the_cheese[0] == cheese) { %} 
    <tr class="template-download fade"> 

及び底

 </tr> 
{% } /* cheese */ %} 
{% } %} 

以下5桁の英数字の文字列関数を編集

 </tr> 
{% } %} 

であれば閉じ編集

<script type="text/javascript"> 
// generate a cookie 
chars = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z'); 
charCount = chars.length; 
stringLength = 5; 
var outputString = ''; 
function mkRandomString() { 
    i = 0; 
    do { 
     random = Math.floor(Math.random()*56); 
     random = chars[random]; 
     outputString += String(random); 
     i++; 
    } 
    while (i<stringLength); 
    return outputString; 
} 

// set a cookie 
//var cheese = document.cookie; 
createCookie('user',mkRandomString(),1); 
var cheese = readCookie('user'); 
0

実際、jQueryファイルのアップロードでは、これを1行で行うことができます。 アップロードハンドラの構造に 'user_dirs' => trueを追加するだけで済みます。次に、get_user_id()をオーバーライドして、システムIDを返します(デフォルトではなく、session_idです)。

この方法の最良の点は、ユーザーが簡単に操作できるクッキーに依存しないことです。

https://github.com/blueimp/jQuery-File-Upload/wiki/PHP-user-directories

関連する問題