평범한 이야기들

[PHP] 클립보드(clipboard)에 문자열 넣기 (복사하기) 본문

평범한 개발 이야기/PHP

[PHP] 클립보드(clipboard)에 문자열 넣기 (복사하기)

songsariya 2022. 8. 11. 11:34
728x90

 

 PHP에서 클립보드(clipboard)에 문자열을 넣기 위해서 정보를 찾아보았습니다.

보통은 자바스크립트로 하는 방법밖에 나오지 않았는데 마침 PHP로 할 수 있는 방법이 있어서 소개해드립니다.

 

소스는 아래와 같습니다.

function setClipboard(string $new): bool
{
    if (PHP_OS_FAMILY === "Windows") {
        // works on windows 7 +
        $clip = popen("clip", "wb");
    } elseif (PHP_OS_FAMILY === "Linux") {
        // tested, works on ArchLinux
        $clip = popen('xclip -selection clipboard', 'wb');
    } elseif (PHP_OS_FAMILY === "Darwin") {
        // untested! 
        $clip = popen('pbcopy', 'wb');
    } else {
        throw new \Exception("running on unsupported OS: " . PHP_OS_FAMILY . " - only Windows, Linux, and MacOS supported.");
    }
    $written = fwrite($clip, $new);
    return (pclose($clip) === 0 && strlen($new) === $written);
}

위 소스에서 PHP_OS_FAMILY === "Darwin" 부분에서 Darwin은 맥 OS라고 보시면 됩니다.

 

위 소스를 이용해서 해당 OS의 클립보드에 원하시는 내용을 집어넣을 수 있습니다. 

728x90
Comments