1

ファイルへのパスを配列に入力しようとしています。

<?php
session_start(session_id());
$galleryID = $_SESSION['newGalleryId'];
    $path_pages = '../../../../data/gallery/' . $galleryID . '/images/album/';
?>

<?php
class UploadHandler
{
    protected $options;

    function __construct($options=null) {
        $this->options = array(
            'script_url' => $this->getFullUrl().'/',
            'upload_dir' => $path_pages,
            'upload_url' => $path_pages,
            'param_name' => 'files'
}
?>

jQuery-file-upload を使用してファイルをディレクトリにアップロードしています。$galleryID をハードコーディングすると正常に動作しますが、$variable をプラグインしようとすると動作しません。$galleryID が問題を引き起こしている理由を教えてください。

ありがとう

4

2 に答える 2

4

試す:

<?php
session_start();
$galleryID = $_SESSION['newGalleryId'];
$path_pages = '../../../../data/gallery/' . $galleryID . '/images/album/';
?>

$_SESSION が開始されていないようです。session_start を追加すると、セッションがインスタンス化され、うまくいけば変数がプルされます。

アップデート

次のようにオプションを設定する必要があります。

<?php
session_start(session_id());
$galleryID = $_SESSION['newGalleryId'];
    $path_pages = '../../../../data/gallery/' . $galleryID . '/images/album/';

$options = array(
            'upload_dir' => $path_pages,
            'upload_url' => $path_pages,
            'param_name' => 'files');

$upload = new UploadHelper($options);
?>

<?php
class UploadHandler
{
    protected $options;

    function __construct($options=null) {
        $this->options = array(
            'script_url' => $this->getFullUrl().'/'
             );
}
?>

$path_pages には UploadHelper クラスへの可視性がありません。クラスはコンストラクターでオプションを処理できるため、クラスをインスタンス化するときにオプションを渡します。

于 2012-06-14T18:21:39.910 に答える
-1

これはかなり不完全なサンプルなので、推測することしかできません: $path_pagesetherglobal $path_pages;またはの使用を参照する必要があるかもしれません$GLOBALS['path_pages']

于 2012-06-14T18:27:05.770 に答える