<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Using_Phar_Archives%3A_the_Phar_and_PharData_class</id>
	<title>Using Phar Archives: the Phar and PharData class - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Using_Phar_Archives%3A_the_Phar_and_PharData_class"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Using_Phar_Archives:_the_Phar_and_PharData_class&amp;action=history"/>
	<updated>2026-04-28T19:01:07Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=Using_Phar_Archives:_the_Phar_and_PharData_class&amp;diff=6022&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039; == Använda Phar-arkiv: klasserna Phar och PharData == Phar-klassen stödjer läsning och manipulation av Phar-arkiv samt iteration genom ärvd funktionalitet från RecursiveDirectoryIterator-klassen. Genom stöd för ArrayAccess-gränssnittet kan filer inuti ett Phar-arkiv nås som om de vore en del av en associativ array.  PharData-klassen är en utökning av Phar och tillåter skapande och modifiering av icke-körbara (data) tar- och zip-arkiv, även...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Using_Phar_Archives:_the_Phar_and_PharData_class&amp;diff=6022&amp;oldid=prev"/>
		<updated>2024-11-12T17:55:55Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039; == Använda Phar-arkiv: klasserna Phar och PharData == &lt;a href=&quot;/index.php?title=Phar&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Phar (sidan existerar inte)&quot;&gt;Phar&lt;/a&gt;-klassen stödjer läsning och manipulation av Phar-arkiv samt iteration genom ärvd funktionalitet från &lt;a href=&quot;/index.php?title=RecursiveDirectoryIterator&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;RecursiveDirectoryIterator (sidan existerar inte)&quot;&gt;RecursiveDirectoryIterator&lt;/a&gt;-klassen. Genom stöd för &lt;a href=&quot;/ArrayAccess&quot; title=&quot;ArrayAccess&quot;&gt;ArrayAccess&lt;/a&gt;-gränssnittet kan filer inuti ett Phar-arkiv nås som om de vore en del av en associativ array.  &lt;a href=&quot;/index.php?title=PharData&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;PharData (sidan existerar inte)&quot;&gt;PharData&lt;/a&gt;-klassen är en utökning av Phar och tillåter skapande och modifiering av icke-körbara (data) tar- och zip-arkiv, även...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Använda Phar-arkiv: klasserna Phar och PharData ==&lt;br /&gt;
[[Phar]]-klassen stödjer läsning och manipulation av Phar-arkiv samt iteration genom ärvd funktionalitet från [[RecursiveDirectoryIterator]]-klassen. Genom stöd för [[ArrayAccess]]-gränssnittet kan filer inuti ett Phar-arkiv nås som om de vore en del av en associativ array.&lt;br /&gt;
&lt;br /&gt;
[[PharData]]-klassen är en utökning av Phar och tillåter skapande och modifiering av icke-körbara (data) tar- och zip-arkiv, även om `phar.readonly=1` är satt i php.ini. Därför är metoderna [[PharData::setAlias()]] och [[PharData::setStub()]] inaktiverade eftersom alias och stub är unika för körbara Phar-arkiv.&lt;br /&gt;
&lt;br /&gt;
=== Viktigt att notera ===&lt;br /&gt;
När du skapar ett Phar-arkiv bör du använda en absolut sökväg i [[Phar]]-konstruktorn. Relativa sökvägar kommer inte att fungera.&lt;br /&gt;
&lt;br /&gt;
Anta att variabeln &amp;#039;&amp;#039;&amp;#039;$p&amp;#039;&amp;#039;&amp;#039; är ett Phar-objekt som initialiseras enligt följande:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$p = new Phar(&amp;#039;/path/to/myphar.phar&amp;#039;, 0, &amp;#039;myphar.phar&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ett tomt Phar-arkiv kommer att skapas på `/path/to/myphar.phar`, eller om filen redan finns kommer den att öppnas igen. Aliaset &amp;#039;&amp;#039;&amp;#039;myphar.phar&amp;#039;&amp;#039;&amp;#039; kan användas för att referera till `/path/to/myphar.phar` i URL:er, som i följande exempel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Dessa två anrop till file_get_contents() är likvärdiga om&lt;br /&gt;
// /path/to/myphar.phar har ett alias &amp;quot;myphar.phar&amp;quot;&lt;br /&gt;
$f = file_get_contents(&amp;#039;phar:///path/to/myphar.phar/whatever.txt&amp;#039;);&lt;br /&gt;
$f = file_get_contents(&amp;#039;phar://myphar.phar/whatever.txt&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exempel på användning av det skapade Phar-objektet ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$a = $p[&amp;#039;file.php&amp;#039;]&amp;#039;&amp;#039;&amp;#039; skapar en [[PharFileInfo]]-klass som refererar till innehållet i `phar://myphar.phar/file.php`.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$p[&amp;#039;file.php&amp;#039;] = $v&amp;#039;&amp;#039;&amp;#039; skapar en ny fil (eller skriver över en befintlig fil) i `myphar.phar`. Variabeln &amp;#039;&amp;#039;&amp;#039;$v&amp;#039;&amp;#039;&amp;#039; kan vara en sträng eller en öppen filpekare.&lt;br /&gt;
  - Exempel: &amp;#039;&amp;#039;&amp;#039;$p-&amp;gt;addFromString(&amp;#039;file.php&amp;#039;, $v)&amp;#039;&amp;#039;&amp;#039; är funktionellt likvärdigt med ovanstående.&lt;br /&gt;
  - Det är också möjligt att lägga till innehållet i en fil med &amp;#039;&amp;#039;&amp;#039;$p-&amp;gt;addFile(&amp;#039;/path/to/file.php&amp;#039;, &amp;#039;file.php&amp;#039;)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
  - Skapa en tom katalog med &amp;#039;&amp;#039;&amp;#039;$p-&amp;gt;addEmptyDir(&amp;#039;empty&amp;#039;)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;isset($p[&amp;#039;file.php&amp;#039;])&amp;#039;&amp;#039;&amp;#039; kan användas för att kontrollera om filen finns i `myphar.phar`.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;unset($p[&amp;#039;file.php&amp;#039;])&amp;#039;&amp;#039;&amp;#039; tar bort filen från arkivet.&lt;br /&gt;
&lt;br /&gt;
=== Hantering av metadata och PHP-laddningsstub ===&lt;br /&gt;
[[Phar]]-objektet är det enda sättet att komma åt Phar-specifik metadata via [[Phar::getMetadata()]], samt att sätta eller hämta PHP-laddningsstubbar genom [[Phar::getStub()]] och [[Phar::setStub()]]. Dessutom kan komprimering för hela Phar-arkivet bara hanteras med hjälp av [[Phar]]-klassen.&lt;br /&gt;
&lt;br /&gt;
=== [[PharFileInfo]]-klassen ===&lt;br /&gt;
[[PharFileInfo]] är en utökning av [[SplFileInfo]]-klassen och erbjuder flera metoder för att hantera Phar-specifika detaljer, såsom komprimering och metadata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
&lt;br /&gt;
Orginalhemsidan på Engelska :https://www.php.net/manual/en/phar.using.object.php&lt;br /&gt;
&amp;lt;BR&amp;gt;[[PHP]]&lt;br /&gt;
[[Funktioner]]&lt;br /&gt;
[[Funktionsreferens]]&lt;br /&gt;
[[Komprimerings- och arkivtillägg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;HR&amp;gt;&lt;br /&gt;
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på &lt;br /&gt;
https://www.linux.se/kontaka-linux-se/&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;Tack till [https://www.Datorhjalp.se Datorhjälp Stockholm] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Php]]&lt;br /&gt;
[[Kategori:Komprimerings- och Arkivtillägg]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>