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_pages使用 etherglobal $path_pages;$GLOBALS['path_pages'].

于 2012-06-14T18:27:05.770 回答