2012-04-16 5 views
0

У меня есть сценарий генератора большого пальца, который мне нужно использовать define, чтобы указать путь к папке ... Я выбираю его из mySQL fild в виде /images/galleries/name/imagem.jpgЛюбая возможная альтернатива этому беспорядочному взрыву?

Я думаю, что я делаю это путем noob ... должен быть лучший способ сделать это!

while($r3 = mysql_fetch_array($e3)){ 
    $path = $r3['pathURLMult']; 
    $ped = explode("/", $path); 
    $path2 = $ped[0] . "/" . $ped[1] . "/" . $ped[2] . "/"; 
    define("FOLDER_IMAGES","$path2"); 
    $imagem = $ped[3]; 
    echo "<img src=\"getimage.php?img=$imagem&w=280&h=180\" width=\"280\" height=\"180\" />"; 
} 

Может кто-нибудь помочь? Заранее спасибо

ответ

2

Use pathinfo();

Попробуйте это:

while($r3 = mysql_fetch_array($e3)){ 
    $pathinfo = pathinfo($r3['pathURLMult']); 
    define("FOLDER_IMAGES",$pathinfo['dirname']); 
    echo "<img src=\"getimage.php?img=".$pathinfo['filename']."&w=280&h=180\" width=\"280\" height=\"180\" />"; 
} 
+0

Спасибо! Работал так, как я хотел, и упростил код! Я также не знал функцию pathinfo! Очень полезно. Еще раз спасибо! –

4

Этот код кажется очень странным, но, не зная больше, я думаю, я не буду комментировать его.

Для фактического вопроса, вы можете использовать dirname и basename:

$path = dirname($r3['pathURLMult']); 
$imagem = basename($r3['pathURLMult']); 
1

Это неправильно. У вас есть определение в цикле с определением переменной, определение должно происходить только один раз. Каково примерное значение переменной $ r3 ['pathURLMult']? (btw, $ r3, $ e3, $ ped ... Я уверен, что вы могли бы найти лучшие имена переменных;)

+0

Запрос выполнен может быть просто для 1 записи, которые я видел, неопытные программисты используют время() построить для них в любом случае больше, чем один раз. –

+0

Я знаю ... но в этом случае мне действительно нужна эта переменная, которую нужно определить несколько раз! –

+0

Нет, я имею в виду, что вы НЕ МОЖЕТЕ переопределить то, что вы уже определили() 'd. PHP будет выдавать УВЕДОМЛЕНИЕ, и константа будет сохранять первое значение, которое вы ему назначили. Определение является постоянным до конца сценария. – smassey

Смежные вопросы