Eduardoaa 0 Denunciar post Postado Setembro 28, 2012 Pessoal, estou com uma dúvida simples, porém não consigo solucionar criei o código abaixo. O código recebe o nome de 10 fotos via Post e quero jogar os 10 nomes em vetor. Quando dou o comando echo dentro do primeiro while aparecem os nomes das fotos quando dou o comando echo no segundo while ele não me retorna nda. O que será que estou fazendo errado? Grato! <!--o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o o.o.o.o.o.o Função para gravar um Evento, seja a requisição de incluir ou alterar o.o.o.o.o.o.o.o. o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o--> <?php //conecta ao banco require "conecta.php"; require "verificaselog.php";//verifica se usuario está logado // Comando SQL $titulo = $_POST['titulo']; $texto = $_POST['texto']; //propriedades do arquivo de upload $numfoto = 0; while ($numfoto < 10){ $foto = array(); $aux = $_FILES['foto'.$numfoto]['name']; $foto[$numfoto] = $aux;//$_FILES['foto'.$numfoto]['name']; $numfoto++; } $numfoto = 0; while ($numfoto < 10){ ECHO $foto[$numfoto]; $numfoto++; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2012 Mais que gambiarra nervosa foi essa que você fez, amigo? :o Não é assim que se faz upload múltiplo de arquivos. Salvo o HTML muito tosco, seria assim: <html> <head> <body> <form name="upload" enctype="multipart/form-data" action="test.php" method="post"> <p> <input type="file" name="photo[]" /> </p> <p> <input type="file" name="photo[]" /> </p> <p> <input type="file" name="photo[]" /> </p> <p> <input type="file" name="photo[]" /> </p> <p> <input type="file" name="photo[]" /> </p> <p> <input type="submit" name="submit" value="Send" /> </p> </form> </body> </html> Tantos campos de upload quantos você precise e todos com o mesmo nome. Mas perceba os colchetes vazios, que farão o browser dizer ao programa PHP que mais de uma photo/arquivo está sendo enviado. Só com isso já temos, ao visualizar $_FILES (com três arquivos enviados): array 'photo' => array 'name' => array 0 => string 'tumblr_m3qs6nSoJa1qdlh1io1_r4_400.gif' (length=37) 1 => string 'tedio.jpg' (length=9) 2 => string 'center-header.png' (length=17) 3 => string '' (length=0) 4 => string '' (length=0) 'type' => array 0 => string 'image/gif' (length=9) 1 => string 'image/jpeg' (length=10) 2 => string 'image/png' (length=9) 3 => string '' (length=0) 4 => string '' (length=0) 'tmp_name' => array 0 => string 'W:\XAMPP\tmp\phpB8.tmp' (length=22) 1 => string 'W:\XAMPP\tmp\phpB9.tmp' (length=22) 2 => string 'W:\XAMPP\tmp\phpBA.tmp' (length=22) 3 => string '' (length=0) 4 => string '' (length=0) 'error' => array 0 => int 0 1 => int 0 2 => int 0 3 => int 4 4 => int 4 'size' => array 0 => int 1046391 1 => int 47508 2 => int 47897 3 => int 0 4 => int 0 Agora é só manipular os dados e copiar os arquivos. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Setembro 29, 2012 Uma forma de facilitar a manipulação destes dados seria essa: Algo desse tipo: array 'name' => array 0 => string '' (length=0) 1 => string '6434outono.jpg' (length=14) 2 => string '' (length=0) 3 => string 'Jellyfish.jpg' (length=13) 4 => string '' (length=0) 'type' => array 0 => string '' (length=0) 1 => string 'image/jpeg' (length=10) 2 => string '' (length=0) 3 => string 'image/jpeg' (length=10) 4 => string '' (length=0) 'tmp_name' => array 0 => string '' (length=0) 1 => string 'C:\wamp\tmp\phpE8CF.tmp' (length=23) 2 => string '' (length=0) 3 => string 'C:\wamp\tmp\phpE8DF.tmp' (length=23) 4 => string '' (length=0) 'error' => array 0 => int 4 1 => int 0 2 => int 4 3 => int 0 4 => int 4 'size' => array 0 => int 0 1 => int 371614 2 => int 0 3 => int 775702 4 => int 0 Reorganiza o array <?php $pictures = $_FILES[ 'photo' ]; for( $i = 0; $i < count( $pictures ); $i++ ) { if( $pictures[ 'error' ] [ $i ] == UPLOAD_ERR_OK ) { $files[ ] = array( 'name' => $pictures[ 'name' ] [ $i ], 'type' => $pictures[ 'type' ] [ $i ], 'tmp_name' => $pictures[ 'tmp_name' ] [ $i ], 'error' => $pictures[ 'error' ] [ $i ], 'size' => $pictures[ 'size' ] [ $i ] ); } } var_dump( $files ); ?> Ficaria assim: array 0 => array 'name' => string '6434outono.jpg' (length=14) 'type' => string 'image/jpeg' (length=10) 'tmp_name' => string 'C:\wamp\tmp\phpE8CF.tmp' (length=23) 'error' => int 0 'size' => int 371614 1 => array 'name' => string 'Jellyfish.jpg' (length=13) 'type' => string 'image/jpeg' (length=10) 'tmp_name' => string 'C:\wamp\tmp\phpE8DF.tmp' (length=23) 'error' => int 0 'size' => int 775702 Compartilhar este post Link para o post Compartilhar em outros sites
Eduardoaa 0 Denunciar post Postado Setembro 30, 2012 Ok, excelente... mais uma dúvida rsss... Como eu jogo o conteúdo do array dentro do comando move_uploaded_file. Como vou saber qual posição do array está vazia? Se tiver um exemplo agradeço! Abraço! Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Setembro 30, 2012 Você leu o post #3? A resposta está lá. Depois de reorganizar o array é só usar um for ou foreach. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Eduardoaa 0 Denunciar post Postado Setembro 30, 2012 hummm ele criou um array multidimensional. Agora deu certo. Obrigado pela colaboração. Compartilhar este post Link para o post Compartilhar em outros sites