gargel
(usa Ubuntu)
Enviado em 06/11/2017 - 16:59h
Gente boa tarde.
desculpem sou meio novo, e estou cursando 2 ano ciencia da computacao, tenho muito pouco conhecimento de servidores,
e como estou tentando ser diferenciado da turma, e como sou curioso to fazendo sistema web para faculdade com um crud normal em php, so que eu contratei um servidor da locaweb e estou usando visual code com a extensao ftp para editar o arquivo direto do servidor. só que nao estou conseguindo fazer upload , pois nao aparece o arquivo no servidor, mais o banco reconheceu
1 servidor eu instalei apache2, php5 e phmyadmin
2 meus arquivo que estou editando se encontra nesse local /var/www/html/"nome do meu projeto"/
quero salvar nesse local a imagem /var/www/html/"nome do meu projeto"/foto
falaram que teria que dar permisao no php.ini e ativar o local e para tomar cuidado para n enviar e com seguranca para certos arquivos pois podem ter ataques.
e aqui tem um arquivo php.ini /etc/php5/apache2, provavelmente é esse local
abrindo ele e na parte do upload esta seguinte
"
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
;
http://php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;
http://php.net/upload-tmp-dir
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
;
http://php.net/upload-max-filesize
upload_max_filesize = 2M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
"
------------------------
e meu comando no php é o seguinte "script finais eu apaguei o endereco do ip com o projeto causa da minha seguranca"
<?php
session_start();
include_once("../seguranca.php");
include_once("../conexao.php");
$nome = $_POST["nome"];
$descricao_curta = $_POST["descricao_curta"];
$descricao_longa = $_POST["descricao_longa"];
$preco = $_POST["preco"];
$tag = $_POST["tag"];
$description = $_POST["description"];
$imagem = $_FILES['arquivo']['name'];
$categoria_id = $_POST["categoria_id"];
$situacao_id = $_POST["situacao_id"];
//Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = '../../foto/';
//definir tamanho máximo do arquivo em bytes
$_UP['tamanho'] = 1024*1024*100;//5mb
//Array com as extensoes permitidas
$_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif');
//Renomeia o arquivo?(se true, o arquivo será salvo com .jpg e em nome unico)
$_UP['renomeia'] = false;
//Array com os tipos de erros de upload do PHP
$_UP['erros'][0] = 'Não houve erro';
$_UP['erros'][1] = 'O arquivo no upload é maior que o imite do PHP';
$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['erros'][4] = 'Não foi feito o upload do arquivo';
//Verifica - se houve algum erro com o upload. se sim, exibe a mensagem do erro
if($_FILES['arquivo']['error'] != 0){
die("Não foi possivel fazer o upload, erro: <br />" . $_UP['erros'][$_FILES['arquivo']['error']]);
exit;//parar a execucao
}
//faz a verificacao da extensao do arquivo
$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));//ira pegar a extensao
if(array_search($extensao, $_UP['extensoes'])=== false){//totalmente false
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=
http:///adm/administrativo.php?link=10'>
<script type=\"text/javascript\">
alert(\"Por favor, envie arquivos com as seguintes extensoes: jpg, png, jpeg e gif\");
</script>
";
}
//faz a verificacao do tamanho do arquivo
else if($_UP['tamanho'] < $_FILES['arquivo']['size']){
echo "O arquivo enviado é muito grande, envie arquivos de até 2mb.";
}
//o arquivo passou em todas as verificacoes, hora de tentar movelo para a pasta foto
else{
//Primeiro verifica se deve trocar o nome do arquivo
if($UP['renomeia'] == true){
//cria um nome baseado no UNIX TIMESTAMP atual e com extensao .jpg
$nome_final = time().'.jpg';
}else{
//mantem o nome original do arquivo
$nome_final = $_FILES['arquivo']['name'];
}
//verificar se é possivel mover o arquivo para a pasta escolhida
if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
//Upload efetuado com sucesso, exibe a mensagem
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=
http:////adm/administrativo.php?link=10'>
<script type=\"text/javascript\">
alert(\"Imagem carregada com sucesso.\");
</script>
";
}else{
//Upload não efetuado com sucesso, exibe a mensagem
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=
http:////adm/administrativo.php?link=10'>
<script type=\"text/javascript\">
alert(\"Imagem não foi carregada com sucesso.\");
</script>
";
}
}
/*
$query = mysql_query("INSERT INTO produtos (
nome, descricao_curta, descricao_longa, preco, tag, description, imagem, categoria_id, situacao_id, created)
VALUES('$nome', '$descricao_curta', '$descricao_longa', '$preco', '$tag', '$description',
'$imagem', '$categoria_id', '$situacao_id', NOW())");
if(mysql_affected_rows() != 0){//se mysql affetou alguma linha seja diferente de 0, entao ele inseriu dato
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=
http:///e/adm/administrativo.php?link=10'>
<script type=\"text/javascript\">
alert(\"Produto cadastrado com sucesso.\");
</script>
";
//header("Location: ../listar_usuario.php");
}else{
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=
http:////adm/administrativo.php?link=10'>
<script type=\"text/javascript\">
alert(\"Produto não cadastrado com sucesso.\");
</script>
";
}
*/
?>
------
ufa muita coisa, mais aqui esta aonde quero cadastrar um produto e que possa fazer upload do arquivo
lembrando q estou fazendo pelo metodo POST
com o form
<form class="form-horizontal" method="POST" action="processa/proc_cad_produto.php" enctype = "multipart/form-data">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Upload</label>
<div class = "col-sm-10">
<input type="file" name="arquivo" id="exampleInputFile">
</div>
</div>
bom resumindo, quero subir um arquivo para servidor no local acima e nao estou conseguindo.
sou novo em servidores, e curioso e acho que é assim que vou aprendendo
espero que alguem pode me ajudar agradeco
meu contato
att Gargel
(18)99676-9291 gargelmichel@gmail.com