Foros del Web » Programando para Internet » PHP »

subir imagenes...

Estas en el tema de subir imagenes... en el foro de PHP en Foros del Web. Hola, en mi sistema de noticias, el administrador carga sus noticias, desde www.ccccc/admin , etc, pero el tema está con las imágenes que quiere incorporar ...
  #1 (permalink)  
Antiguo 29/05/2006, 20:02
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
subir imagenes...

Hola, en mi sistema de noticias, el administrador carga sus noticias, desde www.ccccc/admin, etc, pero el tema está con las imágenes que quiere incorporar a la noticia. Yo le hice un boton examinar, para que la seleccione de su carpeta en el rigido, pero quiero saber como hacemos para subirlas. Hasta ahora, le puse un prog ftp, y lo sube asi, pero quiero saber si hay otra forma, ya que tiene acceso a todo el sistema y tengo miedo que meta la pata y toque algo que no debe.....¿entendieron algo?
__________________
:stress: Patri:corazon:
  #2 (permalink)  
Antiguo 29/05/2006, 20:21
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 6 meses
Puntos: 55
bueno en el formulario donde esta el examinar no debes olvidar poner
<form name="F" method="post" enctype="multipart/form-data" action="cargar.php">

luego en la pagina cargar.php deberias tener

move_uploaded_file($_FILES['foto']['tmp_name'],"micarpeta/".$_FILES['foto']['name']);

con esto moves el archivo temporal "foto" (foto es el name del input type="file") q cargaste, con esto tenes la imagen guardada ahora en micarpeta/nombreimagen.jpg

saludos espero te sirva
  #3 (permalink)  
Antiguo 29/05/2006, 20:25
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
Gracias...voy a probarlo...no tenía ni idea que se podia hacer esto.....pufffff cuantas cosas.....seguro...vuelvo a preguntar...

Saludos
__________________
:stress: Patri:corazon:
  #4 (permalink)  
Antiguo 29/05/2006, 21:35
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
ni idea...de como empezar...menos mal que estan uds...

A ver, yo les paso el codigo que uso a ver si me tiran una punta....y puedo empezar a renegar...

Código:
<?php include("../conex.php"); ?>
.CODIGO DONDE ARMO UN MENU


        <?php 
		
	if($enviar){

		conectarse();
		$fecha_larga=getdate();
		
		$fecha = sprintf("%s/%s/%s", $fecha_larga['year'],$fecha_larga['mon'],$fecha_larga['mday']);
		
		$posicion = (strrpos ($imagen,'\\') + 1);
		$imagen = substr($imagen,$posicion);
		$imagen2 = substr($imagen2,$posicion);
		$imagen3 = substr($imagen3,$posicion);
		$imagen4 = substr($imagen4,$posicion);
		$imagen5 = substr($imagen5,$posicion);
				
		$sql = "INSERT INTO noti (notiide, notifec, notisec, notiaut, notivol, notitit, notisub, noticop, notides, notiima, notiim2, notiim3, notiim4, notiim5)";
		$sql .= " VALUES ('null','$fecha','$cod_seccion','$autor','$volanta','$titulo','$subtitulo','$copete','$desarrollo','$imagen', '$imagen2','$imagen3','$imagen4','$imagen5')";
		$result = mysql_query($sql);
			
		if (mysql_errno()) {
			echo mysql_errno().": ".mysql_error()."<br>";
			}
		else {
			 echo "Datos Actualizados.\n";
		     echo "<a href=consulta_noticias.php><b>CONSULTA NOTICIAS</b></a>";
			 }
	 	
		
	}else{
	?>
      </p>
      <H1 align="center"> <font size="4"><em>CARGA DE NOTICIAS</em></font></H1>
      <H1 align="center">&nbsp;</H1>
      <Form  method="Post" action="alta_noticias.php">
        <table width="81%" border="0" align="left">
          <tr> 
            <td width="12%" height="31" valign="top"><font size="3">Secci&oacute;n:</font></td>
            <td width="37%"><select name="cod_seccion" size="1" id="select3">
                <?php
				conectarse();
				$result_secc = mysql_query ("select * from secc order by seccdes");
     		 	 while($myrow = mysql_fetch_array($result_secc))
				{
			 		echo "<option value=" . $myrow[seccide] . ">" .$myrow[seccdes] . "</option>";
				}	
			?>
              </select></td>
            <td width="8%">Autor:</td>
            <td width="43%"><select name="autor" size="1" id="select4">
                <?php
  				conectarse();
	     		 $result_aut = mysql_query("select * from auto order by autonom");
			 	 while($myrow = mysql_fetch_array($result_aut))
				{
			 		echo "<option value=" . $myrow[autoide] . ">" . $myrow[autonom] . "</option>";
				}	
			?>
              </select></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Volanta:</font></td>
            <td colspan="3"><textarea name="volanta" cols="70" id="textarea5"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">T&iacute;tulo: </font></td>
            <td colspan="3"><textarea name="titulo" cols="70" id="textarea6"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Subt&iacute;tulo: </font></td>
            <td colspan="3"><textarea name="subtitulo" cols="70" id="textarea7"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Copete: </font></td>
            <td colspan="3"><textarea name="copete" cols="70" id="textarea8"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Desarrollo: </font></td>
            <td colspan="3"><textarea name="desarrollo" cols="70" rows="7" id="textarea9"></textarea></td>
          </tr>
          <tr> 
            <td valign="top">Imagen1:</td>
            <td colspan="3"><input name="imagen" type="file" id="imagen" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen2:</td>
            <td colspan="3"><input name="imagen2" type="file" id="imagen2" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen3:</td>
            <td colspan="3"><input name="imagen3" type="file" id="imagen3" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen4:</td>
            <td colspan="3"><input name="imagen4" type="file" id="imagen4" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen5:</td>
            <td colspan="3"><input name="imagen5" type="file" id="imagen5" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">&nbsp;</td>
            <td colspan="3"><input type="submit" value="Alta Noticia" name="enviar"> 
              <?php }
	?>
            </td>
          </tr>
        </table>
      </Form></td>
Es un abuso...no? y bue...les debo tanto, que un poquito más no se va a notar....
Gracias
__________________
:stress: Patri:corazon:
  #5 (permalink)  
Antiguo 30/05/2006, 06:51
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 6 meses
Puntos: 55
muy bien patri! ya con el tiempo te vas a cansar de escribir y empezaras a acortar codigos, y el html... y bueno terminaras haciendo todo con estilos
suerte
  #6 (permalink)  
Antiguo 30/05/2006, 07:53
 
Fecha de Ingreso: febrero-2002
Mensajes: 58
Antigüedad: 22 años, 1 mes
Puntos: 0
En PHP existe una función COPY busca referencias sobre ella
  #7 (permalink)  
Antiguo 30/05/2006, 16:42
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
que hago???

A ver...hice esto...
1) puse <Form method="Post" action="alta_noticias.php" enctype="multipart/form-data">
2) <td valign="top">Imagen1:</td>
<td colspan="3"><input name="imagen" type="file" id="imagen" value="" size="32" maxlength="100"></td>
3)<input type="submit" value="Alta Noticia" name="enviar">

y en el enviar:
1)$directorio="/imagenes/noticias";
2)copy($imagen, $directorio.$imagen);
3)unlink($imagen);
4)if (file_exists($directorio.$imagen)){
echo "El archivo" .$imagen. "ha sido subido exitosamente";
echo "Datos Actualizados.\n";
echo "<a href=consulta_noticias.php><b>CONSULTA NOTICIAS</b></a>";
}
else {
echo "ERROR al procesar el archivo";

5)le agregue esto --->echo "path" .$directorio.$imagen. "<br>";} porque me daba que no se cargaba y queria saber si tomaba el path



Ahora, en la base de datos me gusrda esto: tmp/phptbHeib
y en l apagina donde debe aparecer la uimagen, me muestra el cuadro en blanco...

El path de la imagen en el servidor es /imagenes/noticias

En la pagina que tiene que mostrar la noticia, lo muestro asi:
<?php if ($myrow['notiima'] != ""){
echo "<img src='imagenes/noticias/" .$myrow["notiima"] . "' width='120' height='120'>"; }?>


Por favor...que estoy haciendo mal...
__________________
:stress: Patri:corazon:
  #8 (permalink)  
Antiguo 30/05/2006, 17:09
okram
Invitado
 
Mensajes: n/a
Puntos:
Prueba cambiando estas lineas:

1)$directorio="/imagenes/noticias";
2)copy($imagen, $directorio.$imagen);
3)unlink($imagen);
4)if (file_exists($directorio.$imagen)){
echo "El archivo" .$imagen. "ha sido subido exitosamente";
echo "Datos Actualizados.\n";
echo "<a href=consulta_noticias.php><b>CONSULTA NOTICIAS</b></a>";

por

Código PHP:
$directorio="imagenes/noticias/";
copy($imagen$directorio.$imagen_name);
unlink($imagen);
if (
file_exists($directorio.$imagen_name)){
echo 
"El archivo" .$imagen_name"ha sido subido exitosamente";
     echo 
"Datos Actualizados.\n";
     echo 
"<a href=consulta_noticias.php><b>CONSULTA NOTICIAS</b></a>"
Salu2
  #9 (permalink)  
Antiguo 30/05/2006, 17:33
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
no hay caso

acabo de probarlo, y tampoco pasa nada, ahora me guarda en la bd el nombre del archivo, porque le puse $archivo=$imagen_name;y le pase el valor en el insert.


no solo no lo muestra...no esta....no lo sube...


__________________
:stress: Patri:corazon:
  #10 (permalink)  
Antiguo 30/05/2006, 17:48
okram
Invitado
 
Mensajes: n/a
Puntos:
$imagen_name hace referencia al nombre y extension del archivo que se sube
$imagen_size al tamaño del archivo
y $imagen es el archivo en si

Debe funcionar el codigo, lo acabo de probar y funciona muy bien... Tal vez los permisos de tus directorios, de tu servidor, no se... tantas cosas que pueden ser

checa: http://www.maestrosdelweb.com/editorial/upphp/

Salu2
  #11 (permalink)  
Antiguo 30/05/2006, 18:30
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
no lo encuentro....perdon por la ignorancia.....buahhh

paso el codigo, que se yo donde puede estar el error...
hay comentarios de lo que fui poneindo y sacando...
Please si alguien puede mrarlo....

Código:
<?php 
		
	if($enviar){

		conectarse();
		$fecha_larga=getdate();
//		printf("Puede Fácilmente intercalar <b> %s </b> con número <b> %.2f </b> <br>",$var,$num); 
		
		$fecha = sprintf("%s/%s/%s", $fecha_larga['year'],$fecha_larga['mon'],$fecha_larga['mday']);
		
		//$posicion = (strrpos ($imagen,'\\') + 1);
		//$imagen = substr($imagen,$posicion);
		//$imagen2 = substr($imagen2,$posicion);
		//$imagen3 = substr($imagen3,$posicion);
		//$imagen4 = substr($imagen4,$posicion);
		//$imagen5 = substr($imagen5,$posicion);
		
		$directorio="imagenes/noticias/";
		copy($imagen, $directorio.$imagen_name);
		$archivo=$imagen_name;
		unlink($imagen);
				
		$sql = "INSERT INTO noti (notiide, notifec, notisec, notiaut, notivol, notitit, notisub, noticop, notides, notiima, notiim2, notiim3, notiim4, notiim5)";
		$sql .= " VALUES ('null','$fecha','$cod_seccion','$autor','$volanta','$titulo','$subtitulo','$copete','$desarrollo','$archivo', '$imagen2','$imagen3','$imagen4','$imagen5')";
		$result = mysql_query($sql);
		
		if (file_exists($archivo)){	
		//if (mysql_errno()) {
			//echo mysql_errno().": ".mysql_error()."<br>";
			//}
		//else {
		echo "El archivo" .$archivo. "ha sido subido exitosamente";
			 echo "Datos Actualizados.\n";
		     echo "<a href=consulta_noticias.php><b>CONSULTA NOTICIAS</b></a>";
			 }
	 else {
	 echo "ERROR al procesar el archivo"; 
	 echo "path  " .$directorio.$archivo. "<br>";
	 echo $imagen;}	
		
	}else{
	?>
      </p>
      <H1 align="center"> <font size="4"><em>CARGA DE NOTICIAS</em></font></H1>
      <Form  method="Post" action="alta_noticias.php" enctype="multipart/form-data">
        <table width="81%" border="0" align="left">
          <tr> 
            <td width="12%" height="31" valign="top"><font size="3">Secci&oacute;n:</font></td>
            <td width="37%"><select name="cod_seccion" size="1" id="select3">
                <?php
				conectarse();
				$result_secc = mysql_query ("select * from secc order by seccdes");
     		 	 while($myrow = mysql_fetch_array($result_secc))
				{
			 		echo "<option value=" . $myrow[seccide] . ">" .$myrow[seccdes] . "</option>";
				}	
			?>
              </select></td>
            <td width="8%">Autor:</td>
            <td width="43%"><select name="autor" size="1" id="select4">
                <?php
  				conectarse();
	     		 $result_aut = mysql_query("select * from auto order by autonom");
			 	 while($myrow = mysql_fetch_array($result_aut))
				{
			 		echo "<option value=" . $myrow[autoide] . ">" . $myrow[autonom] . "</option>";
				}	
			?>
              </select></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Volanta:</font></td>
            <td colspan="3"><textarea name="volanta" cols="70" id="textarea5"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">T&iacute;tulo: </font></td>
            <td colspan="3"><textarea name="titulo" cols="70" id="textarea6"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Subt&iacute;tulo: </font></td>
            <td colspan="3"><textarea name="subtitulo" cols="70" id="textarea7"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Copete: </font></td>
            <td colspan="3"><textarea name="copete" cols="70" id="textarea8"></textarea></td>
          </tr>
          <tr> 
            <td valign="top"><font size="3">Desarrollo: </font></td>
            <td colspan="3"><textarea name="desarrollo" cols="70" rows="7" id="textarea9"></textarea></td>
          </tr>
          <tr> 
            <td valign="top">Imagen1:</td>
            <td colspan="3"><input name="imagen" type="file" id="imagen" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen2:</td>
            <td colspan="3"><input name="imagen2" type="file" id="imagen2" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen3:</td>
            <td colspan="3"><input name="imagen3" type="file" id="imagen3" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen4:</td>
            <td colspan="3"><input name="imagen4" type="file" id="imagen4" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">Imagen5:</td>
            <td colspan="3"><input name="imagen5" type="file" id="imagen5" value="" size="32" maxlength="100"></td>
          </tr>
          <tr> 
            <td valign="top">&nbsp;</td>
            <td colspan="3"><input type="submit" value="Alta Noticia" name="enviar"> 
              <?php }
	?>
            </td>
          </tr>
        </table>
      </Form></td>
  </tr>
</table>
__________________
:stress: Patri:corazon:
  #12 (permalink)  
Antiguo 30/05/2006, 20:07
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 6 meses
Puntos: 55
pero nooooooooooooo venias bien patri, ya la pifiaron
un archivo subido se puede ver con el arreglo $_FILES[] este tiene
$_FILES['archivo']['name'] //nombre de la imagen guardada en la maquina del usuario
$_FILES['archivo']['tmp_name'] //direccion+nombre de la imagen guardada en el servidor temporalmente hasta q se haga algo con ella o sino sera borrada
$_FILES['archivo']['size'] //tamaño del archivo
$_FILES['archivo']['type'] //tipo de archivo subido por ejemplo image/jpeg

entonces en la pagina q recibe el archivo tenes q tener
move_uploaded_file($_FILES['imagen']['tmp_name'],$directorio.$_FILES['imagen']['name']); con esto ya tenes guardada la imagen donde quieras, eso si a $_FILES['imagen']['name'] deberias hacerle algunos controles ya q no se pueden guardar nombres de archivos con ascentos, espacios en blanco, etc... el resto lo haces como estabas haciendo q estaba bien
saludos patri
  #13 (permalink)  
Antiguo 31/05/2006, 15:33
 
Fecha de Ingreso: marzo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
FUNCIONAAAAAAAAAAAAAAAA!!!!!!!!asi...a los gritos

Solucionado el tema de subir imagenes, gracias a todos or la colaboración....

¿Quieren saber cuál era el problema?????...
me fataba poner ../ en $directorio
Bue...ya está

Saludos
__________________
:stress: Patri:corazon:
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 02:12.