Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2011, 04:19
Avatar de floog
floog
 
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 10 meses
Puntos: 2
error al subir ficheros

Buenas,
estoy tratando de hacer un sistema para subir imagenes. He logrado que me cree en la carpeta imagenes una carpeta para el registro seleccionado en el formulario y parece que el script de subir imagenes funciona (al menos verifica las condiciones), pero en la consola de PHP me da el siguiente error:

[26-Mar-2011 11:14:21] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/Applications/MAMP/tmp/php/phpZufP40' to 'coches/gallery/bbbbbbbbbbb/15.jpg' in /Applications/MAMP/htdocs/coches/gallery/2.php on line 27

el script del formulario es:
Código PHP:
<?
session_start 
();
//conexion a la bbdd
include ('../scripts/conn.php');
?>
<html>
<head>
<link href="/coches/css/formularios.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="content">
    <form method="post" name="fotos" action="/coches/gallery/2.php" enctype="multipart/form-data">
        <label>Seleccione vehiculo</label>
        <div class="dash-in">
        <?    $date date ("Y-m-d");
             
$vin "SELECT * FROM dam_vehiculos WHERE v_fecha = '$date' ORDER BY v_id";
            
$consulta mysql_query ($vin) or die (mysql_error ()); 
        
?> 
        <select name="vin"> 
           <? while ($rows=mysql_fetch_array($consulta)) { ?> 
                <option value="<?php echo $rows["v_vin"]; ?>"><?php echo $rows["v_vin"]; ?></option> 
              <? ?> 
        </select>
        </div>
        <label>Seleccionar fotografia</label>
        <div class="dash-in">
        <input type="file" name="foto">
        </div>
        <label>Comentario</label>
        <div class="dash-in">
        <input type="text" name="comentario" size="100">
        </div>
        <input name="submit" type="submit" value="Agregar">
    </form>
</div>
</body>
</html>
y el script que sube la imagen es:
Código PHP:
<? 
session_start 
();

//conexion a la bbdd
include ('../scripts/conn.php');

//recojemos los valores del formulario
$vin $_POST["vin"];
$comentario $_POST["comentario"];
$dam1 $_FILES['foto']['name'];

//creamos el directorio en el servidor
mkdir ($vin0777);
$ruta "coches/gallery/$vin/";
$ruta $ruta basename($_FILES['foto']['name']);

//agregamos ls datos a la tabla fotos
$agregar "INSERT INTO fotos (fotos_vin,
                                fotos_imagen,
                                fotos_descripcion) VALUES (
                                '$vin','$ruta','$comentario')"
;
mysql_query ($agregar) or die (mysql_error());

//subimos la imagen
if (is_uploaded_file ($_FILES['foto']['tmp_name'])){
        
move_uploaded_file($_FILES['foto']['tmp_name'], $ruta);
        echo 
" se agrego el fichero en el servidor";
} else {
    echo 
"No funciono";}

?>
lo que no entiendo es que, si valida la condicion y verifica que un archivo se ha subido (o al menos eso creo yo), por que no lo mueve a la carpeta de destino??