创建没有全局变量的URL

时间:2010-03-30 13:38:59

标签: php

我有一个如下代码,它给了我一个 $ link ,它等于: http://mydomain.com/image/photo.JPG

if (!empty($_SESSION['item'][$i]))
{
    $path = dirname(__FILE__).'/image/'.basename($_SESSION['item'][$i]);
    if (move_uploaded_file($_SESSION['item'][$i], $path)) 
        global $url;

    if ( $url )
    {
        $link = $url.'/image/'.basename($_SESSION['item'][$i]);
        echo "<td><img src='" . $link . "' width='50' height='50' /></td>";
    }
}

我想知道,我应该如何正确地省略使用全局变量来实现相同的结果。

更新

if (move_uploaded_file($_SESSION['item'][$i], $path))
{
    $link = 'image/'.basename($_SESSION['item'][$i]);  
    echo "<td><img src='" . $link . "' /></td>";
}

此修改不显示任何字母。似乎if块没有执行。

2 个答案:

答案 0 :(得分:2)

那么为什么你首先使用global?从您提供的代码段中看不出来,因为没有理由单独使用此代码。

如果它在一个函数中传递$url作为参数...如果它是其他东西那么我们将需要使用细节。

关于Col. Shrapnel的答案如果省略第一个/,你将得到一个相对于所访问页面的链接。据我所知,你所说的是:

$link = 'image/'.basename($_SESSION['item'][$i]);

答案 1 :(得分:1)

是的,你可以

$link = '/image/'.basename($_SESSION['item'][$i]); 

但你的代码真是太奇怪了。花了我一个小时才明白