Ir para conteúdo
Fórum Script Brasil

tiagopassos

Membros
  • Total de itens

    117
  • Registro em

  • Última visita

Tudo que tiagopassos postou

  1. tiagopassos

    Erro Inesperado (?)

    tirei a 130 e deu na mesma
  2. Esse script q eu arrumei lista os mp3 de um diretorio, e caso você queira saber as informações sobre ele, coloca o nome do arquivo em um campo de formulário, e aperta "info", depois aparecem Bitrate, nome da musica, nome do "artista", comentários etc. Tudo que tem num id3_v1 de um mp3. Quando você abre o mp3, imediatamente já aparece a lista dos arquivos do diretório. alguém poderia me ajudar a modificá-lo de forma que na lista já apareçam todos os atributos (bitrate, frequencia, álbum, música etc.)? <?php // ---------------------------------------------------------------------- // MP3 Info Function // // $infoarray = mp3info(filename) // Returns associative array with MP3 info // errorcode 1 if file not found // 2 if not an mp3-file // See bottom for sample usage. // // Based on code by Chester@hackster.com // found on PHP Code Exchange http://px.sklar.com // This code made possible by Jim Beam black label bourbon. // and the info found on http://www.dv.co.yu/mpgscript/mpeghdr.htm . // // Marcel Hicking has added the MPEG Audio Tag ID part, // streamlined the code slightly and made changes to return an // associative array instead of a scalar (numeric) one. // // ---------------------------------------------------------------------- function mp3info($filename) { // Ensure file exists! if (!$fp = @fopen($filename,"rb")) { return (1); } // Checking to make sure I can find Frame Sync while (!feof($fp)) { $tmp=fgetc($fp); if (ord($tmp)==255) { $tmp=fgetc($fp); if (substr((decbin(ord($tmp))),0,3)=="111") { break; } } } // eo while // If end of file is reached before Frame Sync is found then bail... if (feof($fp)) { fclose($fp); return (2); } // We have declared all engines go. // Assign filesize $fred['filesize']=filesize($filename); // Assign all important information to $bitstream variable. $inf=decbin(ord($tmp)); $inf=sprintf("%08d",$inf); $bitstream = $inf; $tmp=fgetc($fp); $inf=decbin(ord($tmp)); $inf=sprintf("%08d",$inf); $bitstream = $bitstream.$inf; $tmp=fgetc($fp); $inf=decbin(ord($tmp)); $inf=sprintf("%08d",$inf); $bitstream = $bitstream.$inf; // $bitstream now totals the 3 important bytes of the header of this frame. // Determine Version of Mpeg. switch (substr($bitstream,3,2)) { case "00": $fred['version']="2.5"; break; case "01": $fred['version']="0"; break; case "10": $fred['version']="2"; break; case "11": $fred['version']="1"; break; } // eo switch // Determine Layer. switch (substr($bitstream,5,2)) { case "00": $fred['layer']="0"; break; case "01": $fred['layer']="3"; break; case "10": $fred['layer']="2"; break; case "11": $fred['layer']="1"; break; } // eo switch // Determine CRC checking enabled / disabled 1==disabled $fred['crc'] = substr($bitstream,7,1); // Determine Bitrate // Setting an index variable ... trust me in this // state tis the only way I can think of doing it... if (($fred['version']=="1")&($fred['layer']=="1")) { $index="1"; } elseif (($fred['version']=="1")&($fred['layer']=="2")) { $index="2"; } elseif ($fred['version']=="1") { $index="3"; } elseif ($fred['layer']=="1") { $index="4"; } else { $index="5"; } switch (substr($bitstream,8,4)) { case "0000": $fred['bitrate']="free"; break; case "0001": if (($fred['layer']>1)and($fred['version']>1)) { $fred['bitrate']="8000"; } else { $fred['bitrate']="32000"; } break; case "0010": switch ($index) { case "1": $fred['bitrate']="64000"; break; case "2": $fred['bitrate']="48000"; break; case "3": $fred['bitrate']="40000"; break; case "4": $fred['bitrate']="48000"; break; case "5": $fred['bitrate']="16000"; break; } break; case "0011": switch ($index) { case "1": $fred['bitrate']="96000"; break; case "2": $fred['bitrate']="56000"; break; case "3": $fred['bitrate']="48000"; break; case "4": $fred['bitrate']="56000"; break; case "5": $fred['bitrate']="24000"; break; } break; case "0100": switch ($index) { case "1": $fred['bitrate']="128000"; break; case "2": $fred['bitrate']="64000"; break; case "3": $fred['bitrate']="56000"; break; case "4": $fred['bitrate']="64000"; break; case "5": $fred['bitrate']="32000"; break; } break; case "0101": switch ($index) { case "1": $fred['bitrate']="160000"; break; case "2": $fred['bitrate']="80000"; break; case "3": $fred['bitrate']="64000"; break; case "4": $fred['bitrate']="80000"; break; case "5": $fred['bitrate']="40000"; break; } break; case "0110": switch ($index) { case "1": $fred['bitrate']="192000"; break; case "2": $fred['bitrate']="96000"; break; case "3": $fred['bitrate']="80000"; break; case "4": $fred['bitrate']="96000"; break; case "5": $fred['bitrate']="48000"; break; } break; case "0111": switch ($index) { case "1": $fred['bitrate']="224000"; break; case "2": $fred['bitrate']="112000"; break; case "3": $fred['bitrate']="96000"; break; case "4": $fred['bitrate']="112000"; break; case "5": $fred['bitrate']="56000"; break; } break; case "1000": switch ($index) { case "1": $fred['bitrate']="256000"; break; case "2": $fred['bitrate']="128000"; break; case "3": $fred['bitrate']="112000"; break; case "4": $fred['bitrate']="128000"; break; case "5": $fred['bitrate']="64000"; break; } break; case "1001": switch ($index) { case "1": $fred['bitrate']="288000"; break; case "2": $fred['bitrate']="160000"; break; case "3": $fred['bitrate']="128000"; break; case "4": $fred['bitrate']="144000"; break; case "5": $fred['bitrate']="80000"; break; } break; case "1010": switch ($index) { case "1": $fred['bitrate']="320000"; break; case "2": $fred['bitrate']="192000"; break; case "3": $fred['bitrate']="160000"; break; case "4": $fred['bitrate']="160000"; break; case "5": $fred['bitrate']="96000"; break; } break; case "1011": switch ($index) { case "1": $fred['bitrate']="352000"; break; case "2": $fred['bitrate']="224000"; break; case "3": $fred['bitrate']="192000"; break; case "4": $fred['bitrate']="176000"; break; case "5": $fred['bitrate']="112000"; break; } break; case "1100": switch ($index) { case "1": $fred['bitrate']="384000"; break; case "2": $fred['bitrate']="256000"; break; case "3": $fred['bitrate']="224000"; break; case "4": $fred['bitrate']="192000"; break; case "5": $fred['bitrate']="128000"; break; } break; case "1101": switch ($index) { case "1": $fred['bitrate']="416000"; break; case "2": $fred['bitrate']="320000"; break; case "3": $fred['bitrate']="256000"; break; case "4": $fred['bitrate']="224000"; break; case "5": $fred['bitrate']="144000"; break; } break; case "1110": switch ($index) { case "1": $fred['bitrate']="448000"; break; case "2": $fred['bitrate']="384000"; break; case "3": $fred['bitrate']="320000"; break; case "4": $fred['bitrate']="256000"; break; case "5": $fred['bitrate']="160000"; break; } break; case "1111": $fred['bitrate']="bad"; break; } // eo switch // Determine Sample Rate switch ($fred['version']) { case "1": switch (substr($bitstream,12,2)) { case "00": $fred['samplerate']="44100"; break; case "01": $fred['samplerate']="48000"; break; case "10": $fred['samplerate']="32000"; break; case "11": $fred['samplerate']="reserved"; break; } // eo switch break; case "2": switch (substr($bitstream,12,2)) { case "00": $fred['samplerate']="22050"; break; case "01": $fred['samplerate']="24000"; break; case "10": $fred['samplerate']="16000"; break; case "11": $fred['samplerate']="reserved"; break; } // eo switch break; case "2.5": switch (substr($bitstream,12,2)) { case "00": $fred['samplerate']="11025"; break; case "01": $fred['samplerate']="12000"; break; case "10": $fred['samplerate']="8000"; break; case "11": $fred['samplerate']="reserved"; break; } // eo switch break; } // eo switch // Determine whether padding is set on. 0 == no & 1 == yes $padding = substr($bitstream,14,1); // Determine the private bit's value. Dont know what for though? $private = substr($bitstream,15,1); // Determine Channel mode switch (substr($bitstream,16,2)) { case "00": $fred['cmode']="Stereo"; break; case "01": $fred['cmode']="Joint Stereo"; break; case "10": $fred['cmode']="Dual Channel"; break; case "11": $fred['cmode']="Mono"; break; } // eo switch /* // Determine Mode Extension, actually who cares for the moment switch (substr($bitstream,18,2)) { case "00": $mext="0"; break; case "01": $mext="3"; break; case "10": $mext="2"; break; case "11": $mext="1"; break; } // eo switch */ // Determine Copyright 0 == no & 1 == yes $fred['copyright'] = substr($bitstream,20,1); // Determine Original 0 == Copy & 1 == Original $fred['original'] = substr($bitstream,21,1); // Determine Emphasis switch (substr($bitstream,22,2)) { case "00": $fred['emphasis']="none"; break; case "01": $fred['emphasis']="50/15 ms"; break; case "10": $fred['emphasis']="reserved"; break; case "11": $fred['emphasis']="CCIT J.17"; break; } // eo switch // Determine number of frames. if ((isset($fred['samplerate'])) and (isset($fred['bitrate']))) { if ($fred['layer']=="1") { $fred['frames']=floor($fred['filesize']/(floor(((12*$fred['bitrate'])/($fred['samplerate']+$padding))*4))); } else { $fred['frames']=floor($fred['filesize']/(floor((144*$fred['bitrate'])/($fred['samplerate'])))); } // eo if // Determine number of seconds in song. if ($fred['layer']=="1") { $fred['time']=floor((384/$fred['samplerate'])*$fred['frames']); } else { $fred['time']=floor((1152/$fred['samplerate'])*$fred['frames']); } // eo if } // eo if // MH: Get MPEG Audio Tag info fseek($fp,$fred['filesize']-128); $tag=fread($fp,128); if (substr($tag,0,3) == "TAG") { $fred['tagtitle']=substr($tag,3,30); $fred['tagartist']=substr($tag,33,30); $fred['tagalbum']=substr($tag,63,30); $fred['tagyear']=substr($tag,93,4); $fred['tagcomment']=substr($tag,97,30); } // has audio tag ? fclose($fp); $fred['filename']=$filename; return($fred); } // eo fkt mp3info function thdots($s,$delim=".") { while ($s) { // print "s: $s\n"; $d = substr($s,strlen($s)-3,strlen($s)) .$delim.$d; // print "d: $d\n"; $s=substr($s,0,strlen($s)-3); // print "s: $s\n"; // print "\n"; } // Remove trailing dot return (substr($d,0,strlen($d)-1)); } // eo fkt thdots // ------------------------------------------------------- // Here's a usage sample // ------------------------------------------------------- $myfilename = $REDIRECT_URL ? preg_replace ("/.*\//","",$REDIRECT_URL) : $myfilename; print "<PRE>"; print "<form action=$PHP_SELF method=get>"; print "Enter MP3 filename: <input type=text name=myfilename value=\"$myfilename\"> <input type=submit value=\" info \"> <input type=submit name=\"showdir\" value=\" ls \">"; print "</form>"; print "<HR size=1 noshade>"; if ( ($myfilename || $REDIRECT_URL) && !$showdir) { // OK, we have a filename. Try to get info. $info=mp3info($myfilename); switch ($info) { case 1: print("<FONT color=maroon>Cannot open $myfilename</FONT>"); exit; case 2: print ("<FONT color=maroon>$myfilename does not look like an MP3 file</FONT>"); exit; default: if (gettype($info)!="array") { print("<FONT color=maroon>Strange things happen...</FONT>"); exit; } break; } // eo switch print "Filename : ". $info['filename'] ."\n"; print "Filesize : ". thdots($info['filesize']) ." bytes\n"; print "Playing time : ". date("i:s",$info['time']) ." minutes (". $info['time'] ." seconds)\n"; print "Bitrate : ". $info['bitrate']/1000 ." kbit\n"; print "Samplerate : ". $info['samplerate'] ." hz\n"; print "Frames : ". $info['frames'] ."\n"; print "Emphasis : ". $info['emphasis'] ."\n"; print "Channelmode : ". $info['cmode'] ."\n"; print "Version : MPEG ". $info['version'] ." Layer ". $info['layer'] ."\n"; print "CRC : ". $info['crc'] ."\n"; print "Copyright : ". $info['copyright'] ."\n"; print "Original : ". $info['original'] ."\n"; print "\n"; if (isset($info['tagtitle'])) { print "MPEG Audio Tag ID:\n"; print "Title : ". $info['tagtitle'] ."\n"; print "Artist : ". $info['tagartist'] ."\n"; print "Album : ". $info['tagalbum'] ."\n"; print "Year : ". $info['tagyear'] ."\n"; print "Comment : ". $info['tagcomment'] ."\n"; } else { print "No MPEG Audio Tag ID found\n"; } // eo has tag? } else { // No filename or showdir set. Show available files. $dhnd=opendir('.'); echo "<B>MP3-files in current dir:</B>\n"; while ($file=readdir($dhnd)) { if (ereg("mp3$",$file)) print "$file\n"; } closedir($dhnd); } // eo if got filename? ?>
  3. Fiz um script que faz uma consulta em uma tabela (derock_artigos_imgindex) pra saber se tem alguma imagem padrão relacionada com os artigos (tabela: derock_artigos). Ou seja; se existir imagem, mostre-a, caso contrário, imprima "Não há fotos". Funciona direitinho, só que mesmo assim aparece o seguinte erro - somente quando não existe imagem relacionada; quando existe, fica tudo normal: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/.../artigos.php on line 132 * Código: Primeira parte: 127 // mostra "imagem de índice" 128 $query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id"; 129 $result = mysql_db_query ($dbname, $query, $link); 130 mysql_db_query ($dbname, $query, $link); 131 132 $imgindex_linhas = mysql_num_rows($result); 133 134 if ($imgindex_linhas > 0) { 135 while ($row = mysql_fetch_array($result)) { 136 $artigo_imgindex_arquivo = $row[arquivo]; 137 } 138 } Segunda parte: 178 if ($artigo_imgindex_arquivo == '') { 179 print ("&nbsp;"); 180 } else { 181 $imgindex_completo = $DOCUMENT_ROOT."/img/".$artigo_imgindex_arquivo; 182 } 183 184 if (file_exists($imgindex_completo)) { 185 print ("<IMG SRC=\"http://www.derock.com.br/img_mini.php?arquivo=img/"); 186 print ("$artigo_imgindex_arquivo"); 187 print ("&h=120&w=180\" BORDER=\"0\" ALIGN=\"RIGHT\"><BR><BR>"); 188 } else { 189 print ("Não há fotos."); 190 } P.S.: Pra conseguir fazer a coisa funcionar foi necessária a ajuda de muitas pessoas, já que antes nada ocorria corretamente; se você quizer dar uma olhada no tópico original, clique: http://scriptbrasil.com.br/forum/index.php...=ST&f=4&t=34209
  4. ainda nada... eu tentei ainda tirar o "if ($imgindex_linhas > 0) {..." mas deu outro erro, apesar de o principio ter sido o mesmo. Mostra o que eu quero, mas continua o erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/.../artigos.php on line 135 Quando eu coloco novamente, mostra: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/.../artigos.php on line 132 '...' são os subdiretorios - pra facilitar o entendimento
  5. tiagopassos

    Não Aparece Erro

    cole o código aqui pra ficar mais fácil de ajudar. Quanto ao problema, pode ser (como outro user acima falou) que seja a pesquisa no MySQL; tente fazê-la diretamente no banco de dados (no MySQL ou no PHPMyAdmin), isso se você estiver utilizando um banco de dados...
  6. fizemos progressos! Ele agora tá mostrando o "Não há fotos", porém, ainda continua mostrando o erro: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/... on line 132 127 // mostra "imagem de índice" 128 $query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id"; 129 $result = mysql_db_query ($dbname, $query, $link); 130 mysql_db_query ($dbname, $query, $link); 131 132 $imgindex_linhas = mysql_num_rows($result); 133 134 if ($imgindex_linhas > 0) { 135 while ($row = mysql_fetch_array($result)) { 136 $artigo_imgindex_arquivo = $row[arquivo]; 137 } 138 }
  7. c******... parece ateh piada... ainda não funcionou. Deve ter algo sobrenatural por tras desse script. corrigi uns pequenos erros de sintaxe (do ultimo exemplo), tentei algumas alterações, e: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 132 O pior de tudo, é q não é erro de MySQL (ai ai se sesse), já que quando a imagem existe, ela é exibida.
  8. não.. não estah no MySQL porque funciona quando a imagem existe... o problema é quando ela não existe, ou seja, quando não existe entrada dentro da tabela no bd MySQL
  9. tiagopassos

    Formulário

    ao invés de nomear o botão submit como "enviar", nomeie como "próxima" caso esteja querendo que seja um link, acredito que não seja possível dessa forma. Você pode também, ao invés de colocar um botão comum, colocar uma imagem (pesquise sobre isso).
  10. realmente... não resolveu quando usei of if (!$artigo_imgindex_arquivo)... ele imprimiu o comando pra mostrar a imagem (<IMG>), o q não era pra acontecer, já q ela não existe... tentei tirar o !, ele deu outro erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...
  11. agora os erros: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 132 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 133 linhas 132 e 133: 132 -> $linhas = mysql_num_rows($result); 133 -> while ($row = mysql_fetch_array($result)) { P.S.: só a titulo de informacao... o "..." delimita uma boa quantidade de codigo... ou seja, as duas partes estao razoavelmente distantes.
  12. tiagopassos

    Diferenca

    como disseram aih em cima, qualquer funcao do php pode ser consultada no endereço: http://br.php.net/nome_da_funcao
  13. tiagopassos

    Iniciando No Php

    Bom... qualquer editor de texto simples serve perfeitamente para criar scripts para PHP. No caso do windows, o Notepad, no caso do Linux, eu pessoalmente uso o gEdit, do Gnome. Quanto ao problema de testar os arquivos, tem uma pasta dentro do apache (htdocs, se n me engano) onde você vai jogar os arquivos. Com eles dentro da pasta, e o apache aberto (e MySQL tb, se for o caso), você vai no seu navegador (Mozilla por exemplo) e digita o endeereço: 127.0.0.1/nomedoarquivo.php ou localhost/nomedoarquivo.php, q aih ele vai entrar no arquivo.
  14. já consegui resolver parcialmente o problema com a ajuda de t1l7 (#php/BrasNET)
  15. tiagopassos

    Ajuda No Delet

    Bom... voce poderia criar outro arquivo php (deleta_users.php, por exemplo) que envie com comando para o MySQL com a instrunção para deletar tal registrto, aih, no lugar do numero (ou o q seja) do registro, você colocaria a variavel $cod_user (por exemplo). Feito isso, colocaria o seguinte link (com a imagem do botao de deletar): deleta_users.php?cod_user=5124 (ex.) onde 5124 seria o codigo do usuario blza?
  16. não não... é assim: cada artigo tem varias imagens relacionadas a ele, aí eu escolho uma pra ser a "index" (principal), entende? Todas estao cadastradas no banco de dados.
  17. Fiz um script que consulta informações em uma tabela MySQL (tabela: derock_artigos_imgindex) para que caso o artigo (tabela: derock_artigos) tenha uma imagem (tabela: derock_imagens), ele mostre, caso contrario, não mostre. O problema é que quando não tem imagem relacionada (...imgindex) com o artigo (...artigos), ele mostra o seguinte erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in... (arquivo e linha) Tá aqui o script... esteja livre pra mudar do jeito que quizer. Obrigado, espero respostas P.S.: Não repare que o código esteja um tanto quanto "fragmentado" e "amador", é que eu estava tentando mudá-lo de todas as formas possíveis. P.S. 2: Existem alguns posts logo abaixo, sendo que, obviamente, o último é o mais atual; por favor, dê uma olhada neles, e não esqueça de ler o último ...
×
×
  • Criar Novo...