Foros del Web » Programando para Internet » PHP »

problemas subiendo imágenes php mysql

Estas en el tema de problemas subiendo imágenes php mysql en el foro de PHP en Foros del Web. Hola nuevamente, tengo un problema subiendo imágenes a mi servidor mediante php y mysql. el script no me dá errores, sube el nombre de la ...
  #1 (permalink)  
Antiguo 27/11/2002, 14:14
 
Fecha de Ingreso: agosto-2002
Ubicación: Santiago de Chile
Mensajes: 136
Antigüedad: 15 años, 3 meses
Puntos: 1
problemas subiendo imágenes php mysql

Hola nuevamente, tengo un problema subiendo imágenes a mi servidor mediante php y mysql.
el script no me dá errores, sube el nombre de la foto a la base de datos pero no los archivos a mi directorio imágenes .
este es el script:
<?
if (isset ($enviar)) {
print "$f1 = f1<br>\n ";
print "$f1_name = f1_name<br>\n ";
print "$f1_type = f1_type<br>\n ";
print "$f1_size = f1_size<br>\n ";

print "$f2 = f2 <br>\n";
print "$f2_name = f2_name<br>\n ";
print "$f2_type = f2_type <br>\n";
print "$f2_size = f2_size<br>\n";

print "$f3 = f3 <br>\n";
print "$f3_name = f3_name <br>\n";
print "$f3_type = f3_type <br>\n";
print "$f3_size = f3_size <br>\n";

$newimage = sprintf ("imagenes/%s", $f1_name);

$newimage2 = sprintf ("imagenes/%s", $f2_name);

$newimage3 = sprintf ("imagenes/%s", $f3_name);

$mysql_link=mysql_connect("localhost", "xxxxx","xxxxxx");
mysql_select_db("xxxx", $mysql_link);
$sql = "INSERT INTO fotodeldia (fecha, foto1, foto2, foto3, titulo, descripcion, contenido)
VALUES (current_date, '$newimage', '$newimage2', '$newimage3', '$ti', '$des', '$cont')";
$result = mysql_query($sql);
exec("cp $f1, $newimage");
exec("cp $f2, $newimage2");
exec("cp $f3, $newimage3");

}
?>
cual puede ser el error?
de antemano gracias.
Marcelo
  #2 (permalink)  
Antiguo 27/11/2002, 14:34
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
marcelo,

creoq ue tu problemas esta aqui

Código PHP:
exec("cp $f1, $newimage");
exec("cp $f2, $newimage2");
exec("cp $f3, $newimage3"); 
fijate que el comando cp de unix se ejecuta

Código:
cp origen destino
asi que deberias cambiar lo anterior por

Código PHP:
exec("cp $f1 $newimage");
exec("cp $f2 $newimage2");
exec("cp $f3 $newimage3"); 
sacando las comas

espero que te sirva,

saludos

chubu
__________________
:pensando:hay algo mal que no anda bien
  #3 (permalink)  
Antiguo 27/11/2002, 14:42
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 15 años, 3 meses
Puntos: 4
Prueba de esta manera, usa mejor las funciones is_uploades_file() y copy()...


Código:
// $archivo corresponde a $f1 y $f2.
// $directorio indica la ruta a tu directorio de imagenes

if (is_uploaded_file($archivo)) {
  copy($archivo, $directorio.$archivo_name);
  if(file_exists($directorio.$archivo_name)) {
     echo $archivo_name.' - ok! ';
  } else {
    echo 'Error copiando a '.$directorio;
  }
} else {
    echo ' - tranferencia de '.$archivo_name.' falló :(';
}

suerte.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #4 (permalink)  
Antiguo 27/11/2002, 14:44
 
Fecha de Ingreso: agosto-2002
Ubicación: Santiago de Chile
Mensajes: 136
Antigüedad: 15 años, 3 meses
Puntos: 1
gracias vecino

gracias amigo del otro lado de los andes.
llevaba como 2 horas en esto.
gracias y que vivan losforsdelweb
Marcelo
  #5 (permalink)  
Antiguo 27/11/2002, 14:47
 
Fecha de Ingreso: agosto-2002
Ubicación: Santiago de Chile
Mensajes: 136
Antigüedad: 15 años, 3 meses
Puntos: 1
temaqueja

gracias también a ti temaqueja, la intención es la que vale, dicen...
pero me funcionó con el exec(pc)
suerte
Marcelo
  #6 (permalink)  
Antiguo 27/11/2002, 14:55
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
por nada

como dijo temaqueja, es mejor usar esas funciones (is_uploaded_file y copy), para dar mas seguridad y compatibilidad a tu script... por que esto? porque con is_uploaded_file() podés evitar algúnos ataques comúnes a los servidores web, y con copy() te aseguras que ese mismo codigo va a andar en php sobre windows y otras plataformas donde evidentemente el comando "cp" (es propio de los SOs unix) no existe.

Pero todo depende de tu necesidad,

saludos,

chubu
__________________
:pensando:hay algo mal que no anda bien
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 18:28.