После извлечения изображения из файла слова создайте копию в системе

После успешного прочтения изображения файла MSWword я отобразил его.

Теперь я хочу скопировать эти изображения. Функция копирования изображения работает нормально, но изображение в искаженном формате

Код

$document = 'wordfile.docx';
readZippedImages($document);
function readZippedImages($filename) {
$zip = new ZipArchive;
if (true === $zip->open($filename)) {
for ($i=0; $i<$zip->numFiles;$i++) {
$zip_element = $zip->statIndex($i);
if(preg_match("([^\s]+(\.(?i)(jpg|jpeg|png|gif|bmp))$)",$zip_element['name'])) {
saveImage('http://localhost/readfileimage/display.php?filename=".$filename."&index=".$i."');
echo "<image src='display.php?filename=".$filename."&index=".$i."' /><hr />";
}
}
}
}
function saveImage($path)
{
copy($path, rand().'-flower.jpg');
}

Вот код файла display.php

  /*Tell the browser that we want to display an image*/
header('Content-Type: image/jpeg');
/*Create a new ZIP archive object*/
$zip = new ZipArchive;

/*Open the received archive file*/
if (true === $zip->open($_GET['filename'])) {

//$zip->open($path, ZIPARCHIVE::CREATE);
/*Get the content of the specified index of ZIP archive*/
echo $zip->getFromIndex($_GET['index']);
}

$zip->close();

0

Решение

Пожалуйста, попробуйте это

function saveImage($path) {
$imageUrl = $path;
$contents = file_get_contents(trim($imageUrl));
if ($contents) {
file_put_contents('/path/to/save/flower.jpg', $contents);
}
}
0

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

Других решений пока нет …

По вопросам рекламы [email protected]