PHP - Problemas con imagenes

 
Vista:

Problemas con imagenes

Publicado por Susana (16 intervenciones) el 27/05/2008 14:00:14
Hola ,

a ver si alguien me puede ayudar,trabajo con php y mysql,tengo un formulario para agregar noticias a la base datos y me inserta bien los datos,tengo un campo llamado imagen pero solo inserto el nombre de la imagen por ejem: soldador02 sin la extension,el problema que tengo es que tengo un boton de examinar para insertar dicha imagen y quiero subirla al servidor y no se como hacerlo:(

Muchas gracias por adelantado

tengo este codigo en un mismo fichero llamado form_noticias.php donde tengo el formulario y se llama a si mismo

if(isset($_POST['enviar']))

{

//Consulta para sacar la id mas alta de la tabla principal y luego sumarla en el INSERT
$consulta_idp=mysql_query("SELECT
Max(`jos_noticiasprincipal`.`id`) as id
FROM
`jos_noticiasprincipal`")or die(mysql_error());

$idnot_princ=mysql_fetch_array($consulta_idp);
$url=$idnot_princ['id']+1;

//Consulta para sacar la id mas alta de la tabla individual y luego sumarla en el INSERT
$consulta_idi=mysql_query("SELECT
Max(`jos_noticiasindividuales`.`id`) as id
FROM
`jos_noticiasindividuales`")or die(mysql_error());

$idnot_indiv=mysql_fetch_array($consulta_idi);
$idprincip=$idnot_indiv['id']+1;


if(!empty($_POST['titulo']) and !empty($_POST['subtitulo']) and !empty($_POST['texto']) and !empty($_POST['img']) and !empty($_POST['categoria']))

{

if(is_uploaded_file($_FILES['img']['tmp_name']))
{ // verifica haya sido cargado el archivo

$ruta= "imagenes/".$_FILES['img']['name'];
// Se guardaría dentro de "imagenes" con el nombre original

if(move_uploaded_file($_FILES['img']['tmp_name'], $ruta))
{ // se coloca en su lugar final

echo "<b>Se subio la imagen con exito!<br>Datos:</b><br>";
echo "Nombre: <i>".$_FILES['img']['name']."</i><br>";
echo "Tipo MIME: <i>".$_FILES['img']['type']."</i><br>";
echo "<br><hr><br>";

}

}

//Usamos la funcion basename para sacar el nombre de la imagen sin la extension
$imagen = basename($_POST['img']);
$imagen = basename($_POST['img'], ".jpg");


// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO jos_noticiasprincipal (id,imagen,url,texto,visible,titulo,categoria,subtitulo)
VALUES('".$url."','".$imagen."','".$url."','{$_POST['texto']}','1',
'{$_POST['titulo']}','{$_POST['categoria']}','{$_POST['subtitulo']}')");

}


if(!empty($_POST['titular']) and !empty($_POST['imgXL']) and !empty($_POST['textototal']))

{
if(is_uploaded_file($_FILES['imgXL']['tmp_name']))
{ // verifica haya sido cargado el archivo

$rutaXL= "imagenes/".$_FILES['imgXL']['name'];
if(move_uploaded_file($_FILES['imgXL']['tmp_name'], $rutaXL))
{ // se coloca en su lugar final
echo "<b>Se subio la imagen con exito!<br>Datos:</b><br>";
echo "Nombre: <i>".$_FILES['imgXL']['name']."</i><br>";
echo "Tipo MIME: <i>".$_FILES['imgXL']['type']."</i><br>";
echo "<br><hr><br>";

}

}

//Usamos la funcion basename para sacar el nombre de la imagen sin la extension
$imagenXL = basename($_POST['imgXL']);
$imagenXL = basename($_POST['imgXL'], ".jpg");


// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO jos_noticiasindividuales (id,imagen,titular,textototal,visible,idprincip)
VALUES('".$idprincip."','".$imagenXL."','{$_POST['titular']}','{$_POST['textototal']}','1','".$idprincip."')");

}



if(!empty($_POST['titulo']) and !empty($_POST['subtitulo']) and !empty($_POST['texto']) and !empty($_POST['img']) and !empty($_POST['categoria']) and !empty($_POST['titular']) and !empty($_POST['imgXL']) and !empty($_POST['textototal']))

{


// Ahora comprobaremos que todo ha ido correctamente

$my_error = mysql_error($db);

if(!empty($my_error))

{

echo "Ha habido un error al insertar los valores. $my_error";

} else {

echo "Los datos han sido introducidos satisfactoriamente";
}

} else {

echo "Por favor,rellene todos los campos";

}



}//cerramos if de enviar


Con este codigo me inserta los datos en la base de datos correctamente pero no me sube las imagenes a la ruta que le especifico.

Estoy desesperada:((

Gracias otra vez
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con imagenes

Publicado por insignia (1 intervención) el 27/05/2008 16:12:28
Siento no haber leido tu script con detenimiento aunque el tema del uploaded_file parece q esta bien a priori....

Pero bueno, antes de todo comprueba que el directorio al que intentas subir el archivo tiene los permisos de escritura necesarios, el formulario como ya sabrás debería tener un enctype="multipart/form-data".

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con imagenes

Publicado por Susana (16 intervenciones) el 27/05/2008 17:11:24
gracias por responder tan rapido insignia

en el formulario tengo esa propiedad ,vere lo que puedo hacer:)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar