Nasıl komut dosyası çalıştıran PHPs tmp klasörüne göreli bulmak için?

3 Cevap php

Çalışma zamanında PHP tmp klasörü bulmak mümkün mü?

Ben dosyaları yükleyerek ve ben yararlanarak yapıyorum:

$_FILES['upfile']['tmp_name']

Ancak, kullanımı yapıyorum API'leri biri benim komut dosyası için yüklenen dosya göreli tam dosya yolunu vermek zorunda gerektirir! Biraz can sıkıcı ama yapılması gerekiyor.

Herhangi Bunu yapabilirim nasıl bir fikir?

EDIT

Şu anda. Yukarı gitmek için kaç düzeyleri biliyorum ama tmp klasörü farklı sunucular için farklı yerlerde olabilir eminim ben, bu yapıyorum.

$file = '../..'.$_FILES['upfile']['tmp_name'];

Tüm teşekkürler

3 Cevap

Bu kusursuz bir yoldur ama benim sunucuda çalışır emin değilim. Buna ek olarak, .. ile klasör adlarını değiştirmek için bir yol muhtemelen vardır ama bu beni aşar.

$folders = explode('/', $_SERVER['SCRIPT_FILENAME']);
for ($i = 2; $i < count($folders); $i++) $dir .= '../';
$dir = substr($dir,0,-1);
$dir = $dir.$_FILES['upfile']['tmp_name'];

Eğer mümkünse, gerçekten, ben bunu ilgili diğer API'ler ile etkileşim başlamadan önce kalıcı konuma yüklenen dosya taşımak tavsiye ederim. Zaten zorunda gidiyoruz, ve sonra kolayca göreceli yerini biliyor.

Bunu yapamıyorsanız, ben seni dirname($_FILES['upfile']['tmp_name']) ve dirname(__FILE__) analiz ederek göreli yolunu çalışabilir varsayalım.

getcwd () çıkış geçerli çalışma dizini olmalıdır.