2010-10-23 25 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