Задать вопрос
  • Как с помощью php запретить редактировать Docx файл?

    Morterset
    @Morterset Автор вопроса
    Программист
    Если кому интересно вот функция со всеми заменами.
    function NOEDIT_DOCX($docxFile){ 
    		if (!file_exists($docxFile)) {
    			die('Файл не найден.');
    		}
    		 
    		$zip = new ZipArchive();
    		 
    		if (!$zip->open($docxFile)) {
    			die('Файл не может быть открыт.');
    		}
    		 
    		//Заменяем все найденные переменные в файле на значения
    		$documentXml = $zip->getFromName('[Content_Types].xml');
    		$documentXml = str_replace('<Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/>', '<Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/docProps/custom.xml" ContentType="application/vnd.openxmlformats-officedocument.custom-properties+xml"/>', $documentXml);	 
    		$zip->deleteName('[Content_Types].xml');
    		$zip->addFromString('[Content_Types].xml', $documentXml);
    		
    		
    		
    		//Заменяем все найденные переменные в файле на значения
    		$documentXml = $zip->getFromName('docProps/core.xml');
    		$documentXml = str_replace('</dcterms:modified>', '</dcterms:modified><cp:contentStatus>Окончательное</cp:contentStatus>', $documentXml);	 
    		$zip->deleteName('docProps/core.xml');
    		$zip->addFromString('docProps/core.xml', $documentXml);
    	
    	
    	
    		//Заменяем все найденные переменные в файле на значения
    		$documentXml = $zip->getFromName('_rels/.rels');
    		$documentXml = str_replace('Target="word/document.xml"/></Relationships>', 'Target="word/document.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" Target="docProps/custom.xml"/></Relationships>', $documentXml);	 
    		$zip->deleteName('_rels/.rels');
    		$zip->addFromString('_rels/.rels', $documentXml);
    		
    
    		$zip->addFile('custom.xml', 'docProps/custom.xml');
    		 
    		//Закрываем и сохраняем архив
    		$zip->close();
    	}
    	
    	
    	NOEDIT_DOCX('docx/1.docx');
    Ответ написан
    Комментировать
  • Как сделать чтоб введёный текст сохранялся в переменную?

    Morterset
    @Morterset
    Программист
    Почитайте про обработку форм. https://myrusakov.ru/obrabotka-formy-php.html
    Ответ написан
    Комментировать