Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

drx

Renomear antes de upar vídeo

Recommended Posts

Olá Pessoal!


Estou implementando este código abaixo. O objetivo é renomear o nome do arquivo(vídeo), para a variável $vid,

a qual está definido no select "video-1" até o "vídeo-5", de acordo com a definição pelo usuário.

Como faço para renomear antes de upar o arquivo ?

Alguém pode me ajudar?

Desde já agradeço.



// Se o usuário clicou no botão salvar, então efetua as ações...

if(isset($_POST["cadvideo"])) {


// Recupera os dados dos campos

$controle = $_POST["controle2"]; //controle

$vid = $_POST["videos"]; //video-1 ...5

$file = $_FILES["video"]["file"];//nome do arquivo vídeo



$allowedTypes = array("video/wmv","video/avi","video/mpeg","video/mpg",'video/mp4');

$is_valid_type = (in_array($_FILES['file']['type'], $allowedTypes))?true:false;

if ( $is_valid_type&& ($_FILES["file"]["size"] < 2000000))

{

if ($_FILES["file"]["error"] > 0)

echo '<script type="text/javascript">alert('. $_FILES["file"]["error"] .')</script>';

}

else

{

echo '<script type="text/javascript">alert("Upload: " ' . $_FILES["file"]["name"] . ')</script>';

echo '<script type="text/javascript">alert("Type: " ' . $_FILES["file"]["type"] . ')</script>';

echo '<script type="text/javascript">alert("Size: " ' . ($_FILES["file"]["size"] / 1024) . ')</script>';

echo '<script type="text/javascript">alert("Temp file: " ' . $_FILES["file"]["tmp_name"] . ')</script>';


if (file_exists("upload/" . $_FILES["file"]["name"]))

{

echo '<script type="text/javascript">alert(' . $_FILES["file"]["name"] . " já existe. " . ')</script>';

}

else

{

move_uploaded_file($_FILES["file"]["tmp_name"],

"upload/" . $_FILES["file"]["name"]);


echo '<script type="text/javascript">alert("Upload realizado com sucesso!")</script>';

header("refresh:0 ;painel.php");

}

}

}

else

{

echo '<script type="text/javascript">alert("Arquivo inválido")</script>';

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe isso. O upload envia os bytes do arquivo, junto ao nome original. Você não pode alterar o nome original, afinal o arquivo é do usuário

 

O que você deve fazer é alterar esta linha:

 

 

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . NOME_DO_ARQUIVO);

 

Em "NOME_DO_ARQUIVO" você coloca o "video-1.mp4", por exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso eu acrescento $vid que é a variável que foi definida pelo usuário pelo select, no lugar de .[/size] NOME_DO_ARQUIVO[/size]);[/size]

 

Fica assim então :[/size]


  1. move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $VID);

Beraldo, como que eu pego a extensão do vídeo ?

 

 

Já peguei a extensão, porém está dando um erro na linha 48, embora salve na pasta.

 

Este é o erro:

 

"strict standards. Only variables should be passed by reference. Line 48"

 

linha48: $extensao = strtolower(end(explode('.', $_FILES["file"]["name"])));

move_uploaded_file($_FILES["file"]["tmp_name"], "/upload/". $vid . '.' . $extensao);

Compartilhar este post


Link para o post
Compartilhar em outros sites

é preciso passar uma variável para end(), não uma função.

 

troque isto:

 

$extensao = strtolower(end(explode('.', $_FILES["file"]["name"])));

 

por isto:

 

$explode = explode('.', $_FILES["file"]["name"]);
$extensao = strtolower(end($explode));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.