使用 if(isset($_GET

Copy multiple files using if(isset($_GET

我正在尝试使用 if(isset($_GET['video'])) 一次复制 2 个文件,一个视频文件和一个图像文件,但我似乎无法正确复制。 我可以复制视频,但我尝试复制缩略图失败。

来自另一个 PHP 文件,例如我发送这个 videos.php?video=data/videos/16440311.mp4 给接收者将视频和缩略图图像复制到另一个位置。

if(isset($_GET['video']))
    $file = $_GET['video'];
    $thumb = basename($file, '.mp4');

{
    shell_exec("sudo cp ".urldecode($_GET['video'])." /var/www/html/led/autoplayv/");
    shell_exec("sudo cp ".urldecode($thumb).".jpg /var/www/html/led/autoplayv/");
    
}

但是当我查看文件夹时,我看到的只是视频。

你比你想象的要近)。由于您没有传递完整路径,而只传递名称,因此未复制图像:

$file = 'data/videos/16440311.mp4';
$thumb = basename($file, '.mp4'); // <-- This function will only return the filename, because of this the error

如果图片和视频在同一个路径,那么你将不得不这样做:

   $thumb = str_replace('.mp4','.jpg',$file);// <-- This return full path data/videos/16440311.jpg
   shell_exec("sudo cp {$thumb} /var/www/html/led/autoplayv/");