upload - PHP - Portugal-a-Programar
há forma de fazer um form de upload sem o botão "procurar" que vem pré definido? ou fazer um upload de ficheiros só com um botão? eu clicava num botão escolhia o ficheiro e automaticamente fazia o upload com apenas um click 🤔
O jgUploader não serve? http://pixeline.be/experiments/jqUploader/test.php
este dá para tudo ou só para imagens? e obrigado pela dica
Dá para tudo... Tens o parâmetro allowedExt em que inseres as extensões permitidas.
basicamente, o que eu preciso é criar um form para upload de ficheiro mas só com um click, clico num botão para pesquisar o ficheiro e quando fizer abrir automaticamente faz o upload do ficheiro, eu ando a procurar no Google mas ainda nada do que preciso
Costumo usar este : http://valums.com/ajax-upload/
obrigado pela dica, vou já dar uma vista de olhos
e por exemplo, como posso passar uma variável pelo action do ajax? que eu preciso passar um valor "$id" para efectuar o upload do ficheiro, que eu leio o ficheiro e faço um parse do ficheiro e guardo na tabela, mas relaciono sempre os dados com um id do projecto e passo pelo link o $id, como posso fazer por este script?
sei que é no ficheiro: ajaxupload.js
window.AjaxUpload = function(button, options){
action: './Quality/qualityRead.php',
action: './Quality/qualityRead.php?var=value',
action: './Quality/qualityRead.php?id=$idProject',
que eu coloquei assim e sempre que selecciono o ficheiro não faz nada 🤔
Esse $idProject é o que? php?
sim, é uma variável que vem do php, eu tenho assim:
include ("./Quality/fileRead.php?id=$idProject");
e no fileRead.php:
<script type="text/javascript" src="./javascript/ajaxupload.js"></script>
h1 {color: #C7D92C;	font-size: 18px; font-weight: 400;}
a {	color: white;}
a:hover, a.hover {color: #C7D92C;}
#text {	margin: 25px; }
.example { padding: 0 20px; float: left; width: 230px; }
.wrapper { width: 133px; margin: 0 auto; }
background: url(./images/button.png) 0 0;
font-size: 14px; color: #C7D92C; text-align: center; padding-top: 15px;
background: url(./images/button.png) 0 56px;
#button2.hover, #button4.hover { text-decoration:underline; }
// Uploading. -> Uploading.. -> Uploading...
//$('<li></li>').appendTo('#example1 .files').text(file);
<div id='button1' class='button'>Upload</div>
sei que passar variáveis entre php e ajax não é da mesma forma que php, mas eu não sei como passar a variável
agora desapareceu-me o boão
mas não é por causa desta alteração, que eu voltei a repor como estava e o botão onde deveria aparecer o upload desapareceu mesmo
Deves estar a fazer algo mal, ve la bem o código.
Usa o Firefox + Firebug para ver se tens algum erro no javascript.
já usei, não vi nenhum erro referente a esta situação, coloquei assim o meu código e já aparece o botão, mas não faz o que quero, ele lê o ficheiro mas não efectua o parse ao ficheiro, e eu sei que funciona porque já o tinha feito e a funcionar antes
require_once ("./Quality/fileRead.php");
assim ja aparece o botão, mas se tento passar por aqui o $idProject o botão desaparece
Separa sempre o javascript do markup e do php
já separei o código, posso estar a fazer algo de errado, se eu tento passar a variável $idProject o botão desaparece, mas sem a variável mesmo depois de seleccionado o ficheiro nada faz, mas gostaria de perceber o erro para aprender algo 🤔
não dá nenhum erro de javascript?
não, se eu passar a variável o botão desaparece, e mesmo no firebug não acusa erro, e se não passar a variável aparece o botão mas não faz nada ao seleccionar o ficheiro
Tem de funcionar. Saca la o exemplo do site deles e tenta trabalhar a partir daí. Alguma coisa te escapa.
eu estou a usar o exemplo deles, uso o script onde criam o botao e uso um outro ficheiro, ajaxupload.js, e neste ficheiro há esta linha:
que eu também alterei para ficar igual ao outro lado, não sei se é necessário este ficheiro mas também uso. Quanto ao resto eu não mudei quase nada 🤔
andei a alterar o código, agora o firebug devolve este erro do script:
if ( ! button || button.nodeType !== 1){
throw new Error("Please make sure that you're passing a valid element");
mas nao sei a que se refere este erro, é no ficheiro ajaxupload.js linha 287
usa javascript em vez de meter o php ao barulho. metes um atributo no form ou assim, e quando for a fazer o upload vais la ler o valor do id