Foros del Web » Programando para Internet » PHP »

no consigo subir una imagen con PHP

Estas en el tema de no consigo subir una imagen con PHP en el foro de PHP en Foros del Web. Hola a tod@s! Estoy intentando subir, almacenar y ver imágenes con PHP. Y me estoy basando en este tema de Cluster ( http://www.forosdelweb.com/f18/tutor...inario-127775/ ) FORMULARIO ...
  #1 (permalink)  
Antiguo 08/04/2008, 16:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Pregunta no consigo subir una imagen con PHP

Hola a tod@s!

Estoy intentando subir, almacenar y ver imágenes con PHP. Y me estoy basando en este tema de Cluster (http://www.forosdelweb.com/f18/tutor...inario-127775/)

FORMULARIO
Código PHP:
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo 
$_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>
SCRIPT
Código PHP:
<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","","") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("xavi",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];

//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO fotos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php");  // si ha ido todo bien
exit;
?>
El resultado e obtenido es una desanimadora pantalla donde pone: "No se pudo inserta en la base de datos".

Intuyo que el problema estará en mi php.ini. Pero yo no lo veo,...
Esta es la configuración que tengo:
file_uploads = On
upload_tmp_dir = "C:/Servidor/PHP/Uploads/" --> (la carpeta Uploads la existe y está en esa ruta concreta)
upload_max_filesize = 2M


?Alguién sabría decirme que estoy haciendo mal?

Muchas gracias,
Saludos
  #2 (permalink)  
Antiguo 08/04/2008, 21:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 18 años, 6 meses
Puntos: 2534
Re: no consigo subir una imagen con PHP

si dices que tu BD esta con el campo archivo_binario (sin redundar) en Binary (o estoy tonto y es el valor NULO que le entregas como ID.... o, si no fuera el caso... recomiendo no usar mucho OR die() hasta que el proceso de DEBUG haya concluido... tambien no estaria mal activar error_reporting() con E_ALL como parametro... siempre es mejor un mensaje de error en ingles con la informacion de error, que uno nuestro sin mucho que agregar... (o especificar)
  #3 (permalink)  
Antiguo 08/04/2008, 21:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Prueba cambiar así tu linea:
Código PHP:
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos, el query: $consulta_insertar marco error: " . mysql_error()); 
Saludos.
  #4 (permalink)  
Antiguo 09/04/2008, 16:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Hola! Gracias por vuestras respuestas.

GatorV, probé lo que me decías:
Cita:
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos, el query: $consulta_insertar marco error: " . mysql_error());
Y lo que se me imprime por pantalla es esto:
Código PHP:
No se pudo insertar los datos en la base de datos, el query: INSERT INTO fotos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', 'ÿØÿà\0JFIF\0\0`\0`\0\0ÿÛ\0C\0      $.\' \",#(7),01444\'9=82<.342ÿÛ\0C   2!!22222222222222222222222222222222222222222222222222ÿÀ\0\0›\0n\"\0ÿÄ\0\0\0\0\0\0\0\0\0\0\0  ÿÄ\0µ\0\0\0}\0!1AQa\"q2�‘¡#B±ÁRÑð$3br‚ %&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ\0\0\0\0\0\0\0\0  ÿÄ\0µ\0\0w\0!1AQaq\"2�B‘¡±Á #3RðbrÑ $4á%ñ&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ\0 \0\0?\0íöþ4˜ö©\0¤\"¼{¤X£o4üm&±5oYéJLÎàuÇJI5EN ÅC-ÔQ!,ã¥yf³ãé&�›o— ö5ÌÝø«S¸‡Êk† 3À*£‡œµ\"U=»ûnÀ!v¸�@«zÔŸÚÖ{Uüô*ßíWÎíw;d4*�LÒ‹ë��|æÀéÍkõGÜ�j} o¬ÙÜMåG2–É\\g*_È5ó�¶©um\"É®zk°±ø‰|¾Z\\\"°îa×ÃIlRª™ëdgéIŽõ“£kÖÚ•šÉæ }»˜g¥_¶½†í�’áÔpXt®fšzš*IÏÒ€3N#ÚŒPìqL™ÄQî=»ÔÄ}+Žñ—‰“I·hc\'ÎaÆ+D¯¡73üEãȬwÃåÇFì~µæ¾¯s«NòËëÐt¦\\I%íÃLç–9À©\"²,ÛB’£¹®êtTUÌ¥;èb±##i˜Ç9Ít’è’:Œ.Ié�M�ÃW‡r=«k¢}œŽwmJÜ›@ž-å�½‰AìÝHÊÓ½Ép’)ŽiAlã$U¡e!\\„45› ù†¡+ û›thâ•�0Ã\0z×£ø3Å–¶Úg‘xê†2\0µæf#ÁÇ?ΑFÀã¡üë*”T•‡4}a}¡�L~¾µh¹®\'Á>#†ëNŠÖY%@)Ÿ¥vÊr2+Íšåv:Sº-ÞIö{Y%àm\\ä×€øŽþmOW‘ÙË Äj÷�líÑîŽÒß»?(ïÅ|ïrì÷29È•ׇ�ås)ìZ²µY\0¾¢¶a„(@â©i‘ˆqßšÜ‚ßæärkZ’èiF�õ%¶LÆOÒ´¡1IolUG¯Gn;ŠÁ³¹SD›*Õ è¶hÛÌJÇÜV��€m=—rã4)´šfa²¶UÇ”žÃ�y§ÚºœÆ3ô*™#a�+>á_ºšjl—I•î�«ùk{w¶�«×¥w§9Ï‘©Y £óa€Èâ·…KèqÕ¥mŒ]2ùôÝB9@ éë^í¢^ý6)Œe7�þšðCm##<ö�Ü=ׇ£;@U%p=«T4º3¦Î“Å“5¯†/¥^«¯1[ý¢E{WÄ™ ~‘±æHªyíšñ¸w…Eu5T4M„·±³§A´(ô®†Ú00qÖ²lkuYTy©–çu%ebâlǦFö5R6,@ Á«i uÇJ‹3©lO½vò£ g�ŒÒl`¼ŠFœ æ�XRŠèj¥ÄJËÓíVI*Áúæ¢s¸d€µ2Z0nm†OVMÄR3ÞºyãœsX—hw5pz˜TWG©GµØú1^*ðÜøG÷d[°èkÌu¤a&zÔW¨|2!¼.}D¤¼F°¹Á$Ñ£ñIÕ|,£pÜf^Õäúb†“pÎqÍzGÄOµ]ê6zpTki!yG†^ ü±^}§ÀÖò\\ÆFJgŽj ’‹C³ø‹3j+i …0_3Š�u™ËåЕô_ÓtTgk›‘’Npk£†=<®Ç†=¾ëÒšä[£~Y¾¦-–¾¨Ûd� Wo¥\\Ú^Û¤ÂL:cV úF‰!§@ÆÖÈ«6‘ÃnÅS8ö¤ÜzCÚms«kЇFSì*°D92(=óQAs•68¬½MÚ嶬„éQ¡³”* š…Ý�± Î…½¹®~ãYƒÌ;%þ´ßøFVi÷Éyµ�bÄæ®¿…- ÎIÀÆÐZŒ ê£Z†gØH xÖ¢¸o1Øã#ŒTz§†qî·�±ôª–7<\\ÙG�A¡Â;Ä\\òÙ™ÚÂo ;ôo†È©áÆ9\0O¥yÞ°àyj:rMzü·‡0À¶*k+Ó9›÷‹~5”CâÝ)±È¶•€õéÇé\\a·ò¯ç~öÓÍv¿¬Å¼z5öX´w>S±$’sÿ\0 ×=«Çj1´m�ñŒñÐ�ÿ\0]6´6§¬= DdÀª˜ :Uxôq‰3–wº/¸*  J‚:žõ§•`6ƒëÅ%&޵Nêæ|:‡È’yâ›ÉC¦À0y$rO=óúp·¨màÜ\\oå’=‰ü+UÁEݵAÿ\0dsX‹´¯ŽƒÀîiJwvFµ4-.[ïÎ8¨à-tò1Á#¢“ŒÒ\"샀xÝ6O-Éq”sÈ©EÉ®í.šÚg€°˜cjªŒþ½VšûQ7,Þ_%N%rp28õ®¸Dù‘¶}ÇZ†à,ܶ >Õ§2±Ÿ,Œ ϵ®9é†àŠÏÔ*D7[×�Þ+rHVÊ zÖF¤åÛ`�R�Ý…5e©ÈÝÁ%î¢!E$\02}kÒüa%…¤Ñ¡ÚB“À<×/¡éòtŒûWç=3Ò*®Âr¹ÒG Ý¥$��N@5^o+°ÃœÕ”¹3Fw}áÁÍf�2/@>µÌjNU²9cÐz×I¨È¸8÷5Í\0×ͼ#-žG§5¤o¹ÉZWÐêì\"ŠÇI6Îøq,©»¦ÃäéЮ9Ú úÖð3_@Œ7l3w?þªéDÇ 1Ž+¯C:¯–Ñ9ïj²#&r±HqŽÊÿ\0çúÖ7Äët‹ÆÖ,¿Çl9üOµnC£6›u*®N[*}z`þd~u‰ñ0<‹¢êcªn��¦©®Ž§=*©nɾÀxË„Š–êÖXÚgrî½@µfé—‚K8Y[”pÀ×Y$É4jÜŒÊ^ìŽÈ5(Øæb‹xSöyö1à�œš¹ µ—%ƒ.Frj$¿—J¿)É„¶íµÕiþ%Óä‰á�6}@Ïaž{ Ù$ö 9G¥Ì&±°(3/Ëcø¾µ_ʲ�¾Y묛Xðù��‚wäâ1ž¾¸¬‹ýLÜÂÞÐ>çþè\0ñÅK Ô›zDÇŠußû«�ÞÙ*2<›ˆÁïI¯Û§û\\ñ$cR4\0:2Vî v–lÜn#k9=lW›9»ö.$qÍfèëv5æžÞÌÝBnÆÜÿ\0ú«BõÄpf=7Os[°•ôˋݠyÒ�9ê\0×4¯Ë³–¤µº4-휸¸�BÉŽtZ³�¨«*i(èçL6³cîƒøŠÅÉ399IÝ‹¬mKu›û¿{�Çùô�ªé â-çOP7Ëšé\"ÿ\0�õ«:ÝèV’Ðä�|ô¬ß ê¥u[8Üž$Ú1èx?ÒºÓ´<çC¾’ÆòK+¯‘ÑŠ09à×gaŸ�ýáÆ*·ÅÞßÅÖ²Û� ]ÂÎ죂àõýEsÚeä�ÌÐ]IŽý}é5Ì®Š§\'©ÙÜÛÇrªîpWø…Mkml7ª²õ\'<⢳�L`‘òc¡«&1?ÝŒgª#½ŽøÍÚä×QZÍ!„‚z|ªA¦¢H$“ƒÐtz(!ƒ“÷ÏÒÜÌ�pÔ rv6вL¨€óXWš€��NR3ÓÖ£Õµ1¯Þ ñšç&½Ú„e³‘ŒsƒDa¦§%JŽö$Ôï^O”wè*zχ*ÖÛÃÖ(\0œw$dšòkm>@Ÿk¹Y‡È‡œZõí�Çþ¸\'þ‚+:ïD‘š‹µÙpŠaÅHÃÞ™Ö¹G¬J\\y¹åN `i×ÞN*o(;vÈ üjƧ#ío˜òNk~ÒFxÎ™ß|XP5oÎ:0•sÿ\0|šäµ;qj³Fœƒ*¥uŸX¶—á§\',\\óõE¬Hÿ\0ãØý6ìLãfgèºÀ–?*L+ Áòk²³¹·Úv¾O§jòûÏÝÊÒ\'ÊÛ›‘W´ûÛ“ “+d®OçVÕõCŒÜW)èòOnñ0gÇËžMsú†©ÛœwïšÁº¼¸Øÿ\0½n\0ÅbK,—evaž„ÑËÜ%QÚÅÙn.uk�±¦ûÄg»£hky²þð�^Õ6•m Ä�c=kq*�\0ŸDU:kvdê§ Ç®ó×1\\h6~TŠå\"U`§î�0Aü«„Ô¹Nk/F¿º°ºŠKiš6cóc�Ü÷ƒXI]Uj{ZB1QÅ#½¤nÌKNiàü¹÷®vŒ¯cÿÙ', 'ich.jpg', '3869', 'image/jpeg') marco error: Incorrect integer value: '' for column 'id' at row 1 
No es broma.
Alguna pista de que puede estar pasando?

Muchas gracias por la ayuda.
Saludos!
  #5 (permalink)  
Antiguo 09/04/2008, 16:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Hola donfalcone,

Si te fijas al final te dice:
Código:
Incorrect integer value: '' for column 'id' at row 1
Lo que quiere decir que a la columna id, le estas pasando un string vacío, revisa tu código, ya que la columna debe de ser un entero (numero).

Saludos.
  #6 (permalink)  
Antiguo 09/04/2008, 16:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Ups,

Gracias GatorV,... mi pregunta ahora es: que número se supone que tengo que poner,... no entiendo muy bien.

Gracias por tu ayuda (y rápidez de respuesta)
Saludos
  #7 (permalink)  
Antiguo 09/04/2008, 16:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Si tu campo id es autonumerico, yo te recomendaría que no le insertaras ese campo en tu query insert (sacalo de tu insert en la parte de los campos y de los values):
Código PHP:
$consulta_insertar = "INSERT INTO fotos (archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ( '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"; 
Saludos.
  #8 (permalink)  
Antiguo 09/04/2008, 17:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP


Funciona!
Consigo guardar la imagen,...
ahora lo que no consigo es verla.

Estoy usando este código:
Código PHP:
<?php
    mysql_connect
("localhost","","") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("basededatos") or die ("no se ha podido seleccionar la BD");

    
$sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM fotos";
    
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    While (
$registro=mysql_fetch_assoc($consulta)){
        echo 
"<img src=\"ver.php?id=".$registro['id']."\">";
        echo 
"<br> Nombre archivo: ".$registro['archivo_nombre'];
        echo 
"<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
        echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
    }
?>
Gracias por tu ayuda!
Saludos,
Xavi
  #9 (permalink)  
Antiguo 09/04/2008, 17:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

¿Que error te marca?

Saludos.
  #10 (permalink)  
Antiguo 09/04/2008, 18:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

En lugar de la imagen me aparece el icono que se pone cuando una imagen no se ha cargado correctamente. Es como una imagen rota.

Saludos.
  #11 (permalink)  
Antiguo 09/04/2008, 18:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Selecciona botón derecho sobre la imagen y ponle ver imagen, esto te desplegara la imagen en toda la pantalla, y si hay un error en alguna parte del código te lo mostrará.

Saludos.
  #12 (permalink)  
Antiguo 09/04/2008, 18:13
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

pues si senor,
la imagen no aparece, en su lugar me aparece el siguiente texto error:
Código PHP:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:ServidorWebguardar fotosver.php on line 13

Warning
: mysql_result(): supplied argument is not a valid MySQL result resource in C:ServidorWebguardar fotosver.php on line 14

Warning
: mysql_result(): supplied argument is not a valid MySQL result resource in C:ServidorWebguardar fotosver.php on line 15

Warning
: mysql_result(): supplied argument is not a valid MySQL result resource in C:ServidorWebguardar fotosver.php on line 16

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:13) in C:ServidorWebguardar fotosver.php on line 19

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:13) in C:ServidorWebguardar fotosver.php on line 20

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:13) in C:ServidorWebguardar fotosver.php on line 21 
Mil gracias por tu ayuda.
Saludos.
  #13 (permalink)  
Antiguo 09/04/2008, 18:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Si publicas el código que usas para ver seria más fácil, aunque de entrada te digo que tienes un problema en alguna de tus consultas SQL.

Saludos.
  #14 (permalink)  
Antiguo 10/04/2008, 16:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Hola GatorV,

gracias por tu ayuda.

El codigo de mi archivo ver.php es el siguiente:
Código PHP:
<?php
    mysql_connect
("localhost","usuario","contrasena") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("basededatos") or die ("no se ha podido seleccionar la BD");

    
$sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM fotos";
    
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    While (
$registro=mysql_fetch_assoc($consulta)){
        echo 
"<img src=\"ver.php?id=".$registro['id']."\">";
        echo 
"<br> Nombre archivo: ".$registro['archivo_nombre'];
        echo 
"<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
        echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
    }
?>
Muchas gracias!
Saludos,
Xavi
  #15 (permalink)  
Antiguo 10/04/2008, 17:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Dudo que ese sea el código, ya que ahi se indica que estas llamando a ver.php, es un script que se llama a si mismo?

Saludos.
  #16 (permalink)  
Antiguo 10/04/2008, 17:13
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Ay no, perdona ese script se llama: listar_imagenes.php

Este llama a ver.php, y su código es este:
Código PHP:
<?php
if(isset($_GET['id'])) {

    
// you may have to modify login information for your database server:
    
$conexion=mysql_connect("localhost","usuario","contrasena") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("basededatos") or die ("no se ha podido seleccionar la BD");

    
$sql = "SELECT archivo_mombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'";

    
$consulta = mysql_query($sql,$conexion);

    
$datos = mysql_result($consulta,0,"archivo_binario");
    
$tipo = mysql_result($consulta,0,"archivo_tipo");
    
$nombre = mysql_result($consulta,0,"archivo_nombre");
    
$peso = mysql_result($consulta,0,"archivo_peso");


    
header("Content-type: $tipo");
    
header("Content-length: $peso");
    
header("Content-Disposition: inline; filename=$nombre");

   echo 
$datos;

}
?>
Gracias!
Saludos,
Xavi

Última edición por donfalcone; 10/04/2008 a las 17:32
  #17 (permalink)  
Antiguo 10/04/2008, 21:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Cambia esta linea como te mostre en mi primer post:
Código PHP:
$consulta = mysql_query($sql,$conexion) or die( "Error en consulta: $sql, error: " . mysql_error() ); 
Saludos.
  #18 (permalink)  
Antiguo 11/04/2008, 17:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Hola GatorV,

Gracias por tu ayuda. Cambie lo que me comentabas.

Me sigue saliendo el icono de la imagen rota, entonces hice lo que me indicabas:
Cita:
Selecciona botón derecho sobre la imagen y ponle ver imagen, esto te desplegara la imagen en toda la pantalla, y si hay un error en alguna parte del código te lo mostrará.
y cambie el código que me comentaste:
Código PHP:
$consulta = mysql_query($sql,$conexion) or die( "Error en consulta: $sql, error: " . mysql_error() ); 
En pantalla se me imprime este mensaje:
"Error en consulta: , error: Query was empty"

?Qué puedo hacer?

Gracias,
Saludos.
Xavi
  #19 (permalink)  
Antiguo 11/04/2008, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 18 años, 6 meses
Puntos: 2534
Re: no consigo subir una imagen con PHP

el error no dice: query was empty

lo ke signifika ¿ke no hay query? ((vaya SQL))

osea... parece ser que no hay nada en $sql

Última edición por pateketrueke; 11/04/2008 a las 17:58 Razón: query
  #20 (permalink)  
Antiguo 12/04/2008, 03:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Hola GatorV,

Como el problema está en la conexión entre el archivo listar_imagenes.php y el archivo ver.php y la conexión de estos a mySql.

A modo de prueba he cambiado la variable que captura el id de la foto en mySql por la id directamente (solamente hay una foto, por lo que la id es 1). Pero sigue si funcionar. Sigue apareciendo la frase: "Error en consulta: , error: Query was empty"

?Que puede estar fallando?

Muchas gracias por la ayuda.
Saludos,
Xavi
  #21 (permalink)  
Antiguo 12/04/2008, 12:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: no consigo subir una imagen con PHP

Podrías mostrar el código que tienes en ver.php, pero el que tienes tu en tu maquina.

Saludos.
  #22 (permalink)  
Antiguo 12/04/2008, 12:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: no consigo subir una imagen con PHP

Hola,

Allá va el código de ver.php
Código PHP:
<?php
if(isset($_GET['id'])) {

    
// you may have to modify login information for your database server:
    
$conexion=mysql_connect("localhost","xavi","er95up") or die ("no se ha podido conectar a la BD");
    
    
mysql_select_db("xavi") or die ("no se ha podido seleccionar la BD. Razón" . mysql_error() );

    
$sql = "SELECT archivo_nombre,archivo_binario,archivo_tipo FROM fotos WHERE id='".$_GET['id']."'";

    
$consulta = mysql_query($sql,$conexion) or die( "Error en consulta: $sql, error: " . mysql_error() );

    
$datos = mysql_result($consulta,0,"archivo_binario");
    
$tipo = mysql_result($consulta,0,"archivo_tipo");
    
$nombre = mysql_result($consulta,0,"archivo_nombre");
    
$peso = mysql_result($consulta,0,"archivo_peso");


    
header("Content-type: $tipo");
    
header("Content-length: $peso");
    
header("Content-Disposition: inline; filename=$nombre");

   echo 
$datos;

}
?>
El resultado que obtengo, depués de darle al botón derecho del mouse en la "imagen rota", es este:
Código PHP:
Warning: mysql_result() [function.mysql-result]: archivo_peso not found in MySQL result index 3 in C:ServidorWebguardar fotosver.php on line 16

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:16) in C:ServidorWebguardar fotosver.php on line 19

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:16) in C:ServidorWebguardar fotosver.php on line 20

Warning
: Cannot modify header information - headers already sent by (output started at C:ServidorWebguardar fotosver.php:16) in C:ServidorWebguardar fotosver.php on line 21 
Gracias!
Saludos,
Xavi

Última edición por donfalcone; 13/04/2008 a las 13:39
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.