Как скопировать строку в системный буфер обмена с php, который работает на стороне клиента?

Я хочу скопировать строку в системный буфер обмена с php (который работает как клиентский скрипт) на MAC OSX.

Почему я хочу эту функцию?

Я пишу php-скрипт, который запускается как клиентский скрипт на моем MAC OSX.
Он используется для загрузки текста на веб-сайт, загрузки текста в мой локальный MAC OSX, и я хочу скопировать этот текст в системный буфер обмена MAC.

Итак, есть ли способ скопировать строку в системный буфер обмена с php на MAC OSX?

1

Решение

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;
}
}
4

Другие решения

PHP это сервер язык боковых сценариев, тогда как «буфер обмена» клиент боковая сторона. То, что вы спрашиваете, невозможно с помощью PHP.

0