Я хочу скопировать строку в системный буфер обмена с php (который работает как клиентский скрипт) на MAC OSX.
Почему я хочу эту функцию?
Я пишу php-скрипт, который запускается как клиентский скрипт на моем MAC OSX.
Он используется для загрузки текста на веб-сайт, загрузки текста в мой локальный MAC OSX, и я хочу скопировать этот текст в системный буфер обмена MAC.
Итак, есть ли способ скопировать строку в системный буфер обмена с php на MAC OSX?
PHP не предоставляет системный буфер обмена API, но мы можем использовать PHP proc_fopen вызвать команду оболочки pbcopy на MAC OS X, чтобы получить эту функцию:
echo copy2clipboard('string');
function copy2clipboard($string){
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
2 => array("file", "a.txt", "a") // stderr is a file to write to
);
$process = proc_open('pbcopy', $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], $string);
fclose($pipes[0]);
fclose($pipes[1]);
$return_value = proc_close($process);
return $return_value;
}
}
PHP это сервер язык боковых сценариев, тогда как «буфер обмена» клиент боковая сторона. То, что вы спрашиваете, невозможно с помощью PHP.