enviar o ficheiro e gravá-lo com o nome original [duplicado]
Esta pergunta já tem uma resposta:
Preciso de um formulário para enviar ficheiros. Quero gravar o ficheiro carregado com o nome original.
tenho este código PHP:
<form action="" enctype="multipart/form-data" method="POST">
<input type="file" name="file" /> <br />
<input type="submit" value="Upload" />
</form>
<?php
if ( ($_SERVER['REQUEST_METHOD'] == 'POST') ) {
$fieldname = $_REQUEST['file'];
$tmpfile = $_FILES[$fieldname]['tmp_name'];
$info = pathinfo($tmpfile);
$filename = 'newfile.' . $info['extension'];
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . $filename;
if(move_uploaded_file($tmpfile, $uploadfile)) {
echo $uploadfile;
}
}
?>
mas depois de enviar o ficheiro do utilizador, tenho o ficheiro tmp_name
no servidor.
O Que Eu necessidade: ficheiro de envio do Utilizador photo123.jpg
- Quero photo123.jpg
no servidor. Upload do utilizador firefox.exe
- Eu quero firefox.exe
0
2 answers
Tenta com $_FILES['file']['name']
if ( ($_SERVER['REQUEST_METHOD'] == 'POST') ) {
$tmpfile = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . $filename;
if(move_uploaded_file($tmpfile, $uploadfile)) {
echo $uploadfile;
}
}
1
Author: Rakesh Sharma, 2014-06-10 11:25:38
Tenta isto:
$fieldname = $_FILES['file']['name'];
Em vez de $fieldname = $_REQUEST['file'];
1
Author: AkshayP, 2014-06-10 11:43:12