2010-10-23 48 views
0

是的,我在我的第一個「上傳」開關案例中有這條線:PHP:在另一個開關盒中使用變量

$ file_name = $ USER。 「 - 」。rand(1,888)。「。jpg」;

然後在我的開關情況下「裁剪」(照顧你裁剪的圖像),我希望用上傳的相同名稱替換上傳的文件。現在我不能使用$ file_name的情況下「裁剪」,所以我怎麼能做到這一點?

+1

這個問題不清楚,發佈更多的代碼,確切地說,你有什麼麻煩完成。 – tplaner 2010-10-23 00:35:54

+0

如何處理一些代碼? – teemitzitrone 2010-10-23 00:36:33

回答

0
$file_name = ""; 

switch ($step_name) 
{ 
    case "upload": 
     $file_name = $USER . "-".rand(1, 888).".jpg"; 
     break; 
    case "crop": 
     //now you can use $file_name because the scope is outside of the switch statement 
     break; 
    default: 
     break; 
} 

您需要將$ file_name放置在不同的作用域中。

+0

所以如果我在echo作品時回顯$ file_name,它會輸出1-888.jpg? (示例) – Johnson 2010-10-23 01:42:29

+0

@ user457827 - 不會。你甚至在檢查代碼是否正確之前接受了他的答案? – mellowsoon 2010-10-23 03:32:16

+0

就像mellowsoon說的那樣,它不會。我沒有任何線索知道你正在通過這樣做來達到目的。最好的方法是創建兩個完全不同的任務的單獨的PHP頁面,或者在PHP腳本開始時設置$ file_name並將其用於腳本的其餘部分。 – 2010-10-23 14:52:32

-1

一個交換機只是很多的IF IFs。你嘗試過IF嗎?

+0

給用戶誰downvoted答案,可以解釋爲什麼? – eKek0 2010-10-23 00:47:51

+0

可能是因爲OP聲稱他在使用'switch' /'case' – drudge 2010-10-23 00:56:22