2015-11-18 3 views
0

У меня есть сценарий, как это, на мой взглядLaravel получить реальный путь входного файла

<form method="post" enctype="multipart/form-data" action="{{ URL::route('import.produk.post') }}"> 
    <input type="file" name="import"> 
    <button class="btn btn-primary form-button" type="submit">Save</button> 
</form> 

в мой контроллер я хочу показать путь файла
позволяет сказать, что файл, расположенный в D:\Data\product.xlsx
я, используя этот скрипт сделать

public function postImportProduk() { 
    $input = Input::file('import')->getRealPath();; 
    var_dump($input); 
} 

но не отображать реальный путь входного файла, а не временный файл, как этот выход

string(24) "C:\xampp\tmp\phpD745.tmp" 

я попробовать с ->getFilename() это шоу темп файла слишком phpD745.tmp

, но если я использую ->getClientOriginalName() это шоу именно product.xlsx

Интересно, как получить файл реальный путь
пс: я используя laravel 4.2

+0

Потому что там файл при загрузке. Вам нужно переместить(), прежде чем вы сможете получить его в своем хранилище. –

+0

@DamienPirsy не совсем понял ... так что мне нужно сначала перенести его, а затем запустить скрипт 'getRealPath'? – Neversaysblack

ответ

1

После загрузки файл хранится во временном каталоге со случайно сгенерированным именем.

Теперь, когда у вас есть файл на вашем сервере, вы хотите переместить его в определенную папку, которую вы должны назначить. Простой пример в вашем случае будет так:

public function postImportProduk() { 
    $input = Input::file('import'); 
    $destinationPath = '/uploads/'; // path to save to, has to exist and be writeable 
    $filename = $input->getClientOriginalName(); // original name that it was uploaded with 
    $input->move($destinationPath,$fileName); // moving the file to specified dir with the original name 
} 

Подробнее о функциональности here.

+0

, так что невозможно узнать, где исходный путь файла ... Я хочу сохранить исходный путь и путь к базе данных .... – Neversaysblack

+0

Что значит «исходный путь»? Если вы хотите знать, где пользователь хранит файл на своем компьютере, тогда нет, это невозможно и будет проблемой безопасности, если бы это было так. – Andrius

+0

Хм, я понял это сейчас .. – Neversaysblack

Смежные вопросы