我在尝试做一件简单的事情时遇到了大麻烦,2天后我决定问一些更聪明的人(你)。
我正在做以下事情:
$paquete = uniqid();
$path = '../resources/TEMP/'.$paquete;
$player = '../resources/portable';
$books = '../resource/books';
$products = '/opt/lampp/htdoc/portablecreator/resources/TEMP/'.$paquete.'/desktop_macmillan_v1_7_linux/site/www/root/products/';
putenv('TMPKG='. $products);
temppkg($paquete);
recurse_copy($player, $path);
我使用php-function创建一个文件夹:
function temppkg($cadena) {
$dir = '../resources/TEMP/'.$cadena;
if(!file_exists($dir)) {
mkdir($dir, 0777, true);
chmod($dir, 0777);
return $dir;}
然后在这个内部我使用另一个函数复制其他内容:
function recurse_copy($src,$dst) {
$fld = opendir($src);
@mkdir($dst, 0777, true);
chmod($dst, 0777);
while(false !== ( $file = readdir($fld)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
if ( is_dir($src . '/' . $file) ) {
recurse_copy($src . '/' . $file,$dst . '/' . $file);
}
else {
copy($src . '/' . $file,$dst . '/' . $file);
}
}
}
closedir($fld);
}
所有这一切都很顺利,并且创建了结构。当我尝试在此文件夹结构中复制另一个文件夹的内容时出现问题。我使用的shell脚本使用了在beggining:
处声明的环境变量putenv('TMPKG='. $products);
shell代码是:
cp -R /opt/lampp/htdocs/portablecreator/resources/books/pulse1 $TMPKG/;
我称之为(如果标记了复选框)这样做:
if(isset($_POST['book']) && $_POST['book'] = 6 ){
shell_exec ('sh /script/6.sh'); }
问题是sh必须完成的任务没有完成,也没有显示失败。
有什么想法吗?
非常感谢您提前