Karşıya dosya yükleme
PHP Manual

PUT yöntemi desteği

PHP bazı istemciler tarafından sunucuda dosya saklamak için kullanılan HTTP PUT yöntemini de destekler. PUT istemleri POST istemleri ile dosya yüklemesinden daha basittir ve şu şekildedir:

PUT /dizin_adi/dosyaismi.html HTTP/1.1

Bu normalde uzak istemci /dizin_adi/dosyaismi.html içeriğini site ağacında saklamak istiyor anlamına gelir. Bu Apache veya PHP'nin herkese site ağacındaki herhangi bir dosya üzerine yazma yetkisi verme anlamına geleceği için iyi bir fikir değildir. Bu nedenle böyle bir istem geldiğinde öncelikle HTTP sunucunuza bu istemin belirli bir PHP betiği tarafından karşılanacağını söylemelisiniz. Apache'de bunu Script yönergesi ile yapabilirsiniz. Bu Apache yapılandırma dosyasının herhangi bir yerine konulabilir. Genellikle <Directory> bloğu içine veya <VirtualHost> bloğu içine konulur. Bu, aşağıdaki gibi bir satır olabilir:

Script PUT /put.php

Bu Apache'ye URI'ler için bütün PUT istemlerinin put.php betiğine gönderilmesini söyler. Tabii ki bu durumda .php uzantısının ve PHP'nin etkin olduğu varsayılmaktadır. Bu betiğe gelen bütün PUT istemleri için hedef kaynağı betiğin kendisi olmalıdır.

PHP ile put.php içinde şunu yapabilirsiniz. Bu yüklenen dosyanın içeriğini sunucudaki myputfile.ext dosyasına kopyalar. Bu dosya kopyalamayı gerçekleştirmeden önce bazı denetimlerin yanında kimlik doğrulaması da yapmak isteyebilirsiniz.

Örnek 1 - HTTP PUT dosyalarının kaydedilmesi

<?php
/* PUT verisi stdin akımına gelir */
$putdata fopen("php://input""r");

/* Yazmak için bir dosya aç */
$fp fopen("put_dosyam.ekl""w");

/* Bir kerede 1 KB veri oku ve dosyaya yaz  */
while ($veri fread($putdata1024))
  
fwrite($fp$veri);

/* Akımları kapat */
fclose($fp);
fclose($putdata);
?>


Karşıya dosya yükleme
PHP Manual