PHP:无法追加价值

时间:2014-04-18 01:15:33

标签: php copy rename shell-exec

我试图用winbinder创建一个程序,将.iwd转换为.zip(可以通过将.iwd重命名为.zip来实现),我需要知道如何获取包含文件和make的varible它用.zip

覆盖扩展名
case 11:
            $filename = $GLOBALS["orig_filename"];
            $withoutExt = preg_replace("/\\.[^.\\s]{3,4}$/", "", $filename);
            $filename_with_zip = $filename."zip";
            echo shell_exec("rename ,"$filename" ,"$filename_with_zip"");
            echo $filename_with_zip;
        break;

2 个答案:

答案 0 :(得分:0)

您可以像这样更改文件扩展名

$iwd = "C:/path/to/myfile.iwd";
$zip = str_replace('.iwd', '.zip', $iwd);
rename($iwd, $zip);

答案 1 :(得分:0)

代码:

感谢Almis的原始芒果,修改后更适合您的使用并进行解释。

case 11:
     $iwd = $GLOBALS["orig_filename"];
     $zip = str_replace('.iwd', '.zip', $iwd);
     rename($iwd, $zip);
break;


说明:

首先,不要将shell_exec()用于已内置的PHP函数rename,此处使用php.net/rename

其次,str_replace()提供了用参数2 www.php.net/manual/en/function.str-replace.php

替换参数1的功能

最后,不要使用全局变量,他们可以更难以诊断问题。 https://stackoverflow.com/questions/1557787/are...如果您仍然决定使用它们,我发现在需要单独函数中的值之前使用global $value会更好。