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