Foros del Web » Programando para Internet » PHP »

A que no puedes encontrar el error... Upload de archivos no funciona.

Estas en el tema de A que no puedes encontrar el error... Upload de archivos no funciona. en el foro de PHP en Foros del Web. Hola amigos! Estoy intentando hacer algunas practicas subiendo archivos y todo eso.... A ver si me pueden ayudar a FIXEAR los HORRORES que tengo en ...
  #1 (permalink)  
Antiguo 25/07/2011, 22:32
 
Fecha de Ingreso: mayo-2010
Mensajes: 35
Antigüedad: 13 años, 11 meses
Puntos: 1
A que no puedes encontrar el error... Upload de archivos no funciona.

Hola amigos!

Estoy intentando hacer algunas practicas subiendo archivos y todo eso....
A ver si me pueden ayudar a FIXEAR los HORRORES que tengo en el momento de subir los archivos....

Código PHP:
<?
include ("../conexion.php");
define('RUTAVIDEOS''../videos/');

if(
$_SERVER['REQUEST_METHOD'] == "POST"){
    
$flv ".flv";
    
$titvid $_POST[titvid].$flv;
    
$DescVid $_POST[DescVid];
    
$categoria $_POST[categoriaID];
    
$tags $_POST[tags];
    
$video $_FILES["video"];

$rutacompleta =  RUTAVIDEOS.$titvid;

$consultaUltimoid "SELECT MAX(id_video) + 1 FROM videoteca";
$res mysql_query($consultaUltimoid);
$id_vid mysql_fetch_array($res);
$id_video $id_vid[0];


    
$error "";

if(empty(
$DescVid)){
    
$error "No olvide una descripción breve del video";
}
    
    
        if(empty(
$titvid)){ // busca si esta vacia la variable
    
$error "El nombre del video es obligatorio"//guarda en el array errores cual era el error    
        
}else{
    
$query "SELECT * FROM videoteca WHERE titulo = '$titvid'";
    
$exito mysql_query($query);
    
                if (
mysql_num_rows($exito)>0){
        
$error "El titulo ".$titvid." ya existe, por favor, intente con otro.";
                }
        }
    
if(empty(
$error)){
        
        

$archivo $_FILES["video"]["tmp_name"];
//Definimos un array para almacenar el tamaño del archivo
$tamanio=array();
//OBTENEMOS EL TIPO MIME DEL ARCHIVO
$tipo $_FILES["video"]["type"];
//OBTENEMOS EL NOMBRE REAL DEL ARCHIVO AQUI SI SERIA foto.jpg
$nombre_archivo $_FILES["video"]["name"];
//PARA HACERNOS LA VIDA MAS FACIL EXTRAEMOS LOS DATOS DEL REQUEST
extract($_REQUEST);
//VERIFICAMOS DE NUEVO QUE SE SELECCIONO ALGUN ARCHIVO
if ( $video != "none" ){
    
//ABRIMOS EL ARCHIVO EN MODO SOLO LECTURA
    // VERIFICAMOS EL TAÑANO DEL ARCHIVO
    
copy($video$rutacompleta);

    
$qry "INSERT INTO videoteca (categoria, titulo, palabras_claves,ubicacion, thumbail, descripcion, fecha_alta) VALUES('$categoria', '$titvid', '$tags', '$rutacompleta','/imagenes/video.jpg','$DescVid','$fecha' )";

mysql_query($qry) or die("Query: $qry <br />Error: ".mysql_error());
}
}

}


?>
    <section id="main" class="column">
        
                    <?php if(!empty($error)){ ?>
            <tr>
                <?php echo '<h4 class="alert_error">'.$error.'</h4>';?></td>
            </tr>
            <?php }else{ ?>        
        <h4 class="alert_info">Recuerde que todos los videos deben estar en formato .FLV o .flv de lo contrario ocacionar&aacute; una error en el servidor!.</h4>
        <? ?>
        <?php if(!empty($mensaje)){ ?>
            <tr>
                <?php echo '<h4 class="alert_success">'.$mensaje.'</h4>';?></td>
            </tr>
            <?php }?> 
        <article class="module width_full">
            <header>
              <h3>Ingresar un nuevo video</h3></header>
                <div class="module_content">
                <form action="altavideos.php" enctype="multipart/form-data" method="post">
                        <fieldset>
                            <label>Titulo del video</label>
                            <input type="text" name="titvid">
                        </fieldset>
                        <fieldset>
                            <label>Archivo</label>
                        <input type="file" id="video" name="video"/>
                        </fieldset>
                        <fieldset>
                            <label>Descripcion</label>
                            <textarea rows="12" name="DescVid"></textarea>
                        </fieldset>
                        <fieldset style="width:48%; float:left; margin-right: 3%;"> <!-- to make two field float next to one another, adjust values accordingly -->
                        <label>Categoria (<a href="http://www.vidmed.tv/admin/categorias.php">dar de alta</a>)</label>
                            <select style="width:92%;" name="categoriaID">
<?                            
$respuesta 
mysql_query("select id, nombre, comentarios from categorias");
while(
$fila=mysql_fetch_array($respuesta)){
echo 
'<option value="'.$fila["id"].'">'.$fila["nombre"].'</option>';
}
echo 
'</select>';
?>                            </select>
                        </fieldset>
                        
                        <fieldset style="width:48%; float:left;"> <!-- to make two field float next to one another, adjust values accordingly -->
                            <label>Palabras calve</label>
                            <input type="text" style="width:92%;" name="tags">
                        </fieldset><div class="clear"></div>
                </div>
                
            <footer>
            
                <div class="submit_link">    
                        
            <input type="submit" value="Crear" class="alt_btn">
                    </form>
                    
                </div>
                
                </footer>
                
        </article>
        
        </section>
Mi problema básicamente...

NO ME FUNCIONA EL UPLOAD! Se guarda en la DB y todo... pero no funciona el upload...
Por si no se dieron cuenta este es mi primer script de subida de archivos :D

Saludos!
  #2 (permalink)  
Antiguo 25/07/2011, 23:04
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: A que no puedes encontrar el error... Upload de archivos no funciona.

Usa move_uploaded_file() en vez de copy()
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 25/07/2011, 23:39
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: A que no puedes encontrar el error... Upload de archivos no funciona.

el problema es esta variable

$video = $_FILES["video"];

ponlo asi

$video = $_FILES["video"]['tmp_name'];

y es todo . eso lo debe subir

si por pura casualidad pones eso y no te lo sube son los permisos de la carpeta

saludos
__________________
"El sabio no dice lo que piensa,pero piensa lo que dice"
Att Miguel Lomeli
Visita mi Blog
  #4 (permalink)  
Antiguo 26/07/2011, 00:54
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: A que no puedes encontrar el error... Upload de archivos no funciona.

aprte de los aportes de los amigos igual es importante el tamaño del video, y de la configuracion de php.ini

Etiquetas: errores, upload
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 13:32.