joya123
Usuario Novato
Usuario Novato

Hola....soy nueva en esto pero estoy provando la funcion move_upload_file(), pero me da error porque estoy trabajndo localmente, me doy cuenta que son permisos de carpeta, los quise cambiar trabajando con FTP pero no me da y siempre me sale este error:

Warning: move_uploaded_file(C:/wamp/www//modulos/noticias/tokyo14.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\mga\funciones.inc.php on line 324

Solo pregunto como se hace para trabajar localmente esta funcion....

Ayudenme por favor...

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Para esos casos esta bien mirarse el manual de PHP. Que aparte de explicarte que hace y como hay que hacerlo, tienes ejemplos de usuarios.

http://php.net/manual/en/function.move-uploaded-file.php

De todas formas, podrias poner el script para ver donde falla.

Saludos.

joya123
Usuario Novato
Usuario Novato

Este es el scrip de la funcion que ocupo para subir una imagen, el la pagina web en uso me funciona bien pero ya trabajarlo localmente no me funciona y me envia el error que puse ayer...puedene ayudarme...

//-    Debuelve el Nombre formatiado de la Imágen
function subir_imagen($nombre,$tipo,$tamano,$prefijo,$newnombre,$tmp_dir,$dir){
    if (!((strpos($tipo, "jpg") || strpos($tipo, "jpeg") || strpos($tipo, "JPG")) && ($tamano < 520000))){
        //- Debuelve el codigo del error y 0 porque no fue exitoso
        return array("A100",0);
    }
    else
    {     
        if (move_uploaded_file($tmp_dir, $dir."/".$nombre))
        {
            $extenc_file="";
            $extenc_file=end(explode("/",$tipo));
            $nombre_file=$prefijo.$newnombre.".".$extenc_file;
            $nombre_file=str_replace(" ","_",$nombre_file);
            rename($dir."/".$nombre,$dir."/".$nombre_file);
            //- Debuelve el nombre del archivo subido y 1 si fue exitoso
            return array($nombre_file,1);
        }
        else{
            //- Debuelve el codigo del error y 0 porque no fue exitoso
            return array("A101",0);
        }
    }
}

Avatar Image
@man / @woman
@man / @woman

Creo recordar que en Windows no funciona esa función...

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Esto es asi : c:\wamp\www\\modulos ?

Porque yo con EasyPHP para acceder a la carpeta www , no tengo esa doble contrabarra. Sera una tonteria o es que no lo veo yo bien.

De todas formas, tampoco explicas lo que hace tu script. Sabemos que es un codigo para subir imagenes, pero como lo hace?.

Solo te da un warning?. Has buscado en Google posibles errores de move_uploaded_file ?.

Te funciona en el servidor pero no en local. El valor maximo que veo que es 52000 porque no lo asignas a una variable, tipo max_size o tamanyo_max?.

Saludos.

joya123
Usuario Novato
Usuario Novato

Este es mi script donde ocupo la funcion que puse anteriormente, pero mi problema es dar bien la ruta por la doble barra y la url que ocupo es para la conexion:

<?php
//PARAMETROS
$server_dir=$_SERVER['DOCUMENT_ROOT']."/";            //-Definiendo PATH del servidor
$server_url="http://localhost/mga/";            //-Definiendo URL del sitio
$relative_modurl="modulos/";                    //-Difiniendo URL relativa
$noticia_thumb=$relative_modurl."noticias";            //-Path de los Thumbnail de las noticias

?>

 y este es el script donde llamo la funcion

<?php
//AGREGANDO NUEVA NOTA DE PRENSA
if(isset($_POST['submit_news'])){
    
    //Cargando variables
    $titulo        = strip_tags(str_replace("'","",$_POST['titulo']));
    $fecha        = strip_tags(str_replace("'","",$_POST['fecha']));
    $categoria    = strip_tags(str_replace("'","",$_POST['categoria']));
    $nota        = strip_tags(str_replace("'","",$_POST['nota']));
    $fuente        = strip_tags(str_replace("'","",$_POST['fuente']));
    $keywords    = strip_tags(str_replace("'","",$_POST['keywords']));
    $destaque    = strip_tags(str_replace("'","",$_POST['destaque']));
    $despic        = strip_tags(str_replace("'","",$_POST['despic']));
    $fuentepic    = strip_tags(str_replace("'","",$_POST['fuentepic']));
    $album        = strip_tags(str_replace("'","",$_POST['album']));
    
    if(    (isset())and(!empty())and(isset())and(!empty())and(isset())and(!empty())a nd
        (isset($nota))and(!empty($nota))and(isset($fuente))and(!empty($fuente))){
        
        //Generando ID de la Nota
        $id_news = nextid($bd_alma,$conexion,'noti_noticia','id');
        
        //Breaks en la nota de prensa
        $nota    = nl2br($nota);
        if(empty($album)) $album = 0;
        
        //Formato a fecha
        $fecha = format_fecha($fecha);
        
        //Agregando nota de prensa
        $addnews_sql="INSERT INTO noti_noticia VALUES (".$id_news.",".$categoria.",'".$fecha."','".$titulo."','".$nota."',
                    '".$fuente."',";
                    
        //Subiendo imagen
        if($_FILES['portadapic']['name']){
            $fle_nombre    = $_FILES['portadapic']['name'];
            $fle_tipo    = $_FILES['portadapic']['type'];
            $fle_size    = $_FILES['portadapic']['size'];
            $fle_tdit    = $_FILES['portadapic']['tmp_name'];
            $fle_dir    = $server_dir.$noticia_thumb;
            
            list(,)=subir_imagen(,,,"np_",,,);
            
            if($estado == 1){
                $thumbnail=$fle_dir."/".$file;
                list($thumbnail,$estado)=generar_thumbs($thumbnail,190,"","thumb/");
                
                if($estado==1)
                    .="\'".."/".."\',\'".."\',\'".."\',";
                else
                    $error = print_error($thumbnail);

                if(is_file($fle_dir."/".$file))
                    unlink($fle_dir."/".$file);
            }
            else $error = print_error($file);
        }
        else $addnews_sql.="'','','',";
                    
        $addnews_sql.="".$album.",'".$keywords."',0,".$destaque.")";
        
        if(!isset($error)){
            if($destaque == 1){
                $nodes_sql="UPDATE noti_noticia SET destaque = 0 WHERE destaque = 1";
                mysql_db_query($bd_alma,$nodes_sql,$conexion);
            }
            
            mysql_db_query($bd_alma,$addnews_sql,$conexion);
            //Llenando bitacora
            bitacora($conexion,$bd_alma,$id_usuario,1,$seccion,$id_news);
            ?><script language="javascript">location.href="<?php echo $server_url.$relative_admurl."index.php?s=50"; ?>";</script><?php
        }
    }
    else $error = print_error("A001");
}    ?>

Todo esto me funciona bien en el servidor Web pero en el local no....

Me pueden ayudar a aclararme...

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Te han comentado que en Windows no se sabe si funciona esa funcion.

Yo cuando he utilizado esa funcion ha sido bajo linux y si ha funcionado...y como tu bien dices, en el servidor si que te va y en local no, revista el php.ini la linea :

upload_tmp_dir=" ";

Saludos.

joya123
Usuario Novato
Usuario Novato

lo que tengo ahi es:   upload_tmp_dir = "C:\wamp\tmp"

y ahora no me guarda el archivo cuando le agrego la imagen...la funcion que utilizo es:

//SUBE IMAGENES AL SERVIDOR O MANDA ERROR EN CASO DE FALLO
//- Parametros
//- $nombre        Nombre de la imagen a subir
//-    $tipo        Extencion de la imagen
//-    $tamano        Tamaño de la imagen
//-    $tmp_dir    Directorio temporal donde se sube la imagen
//-    $dir        Directorio permanente donde se subira la imagen

//-    Debuelve el Nombre formatiado de la Imágen
function subir_imagen($nombre,$tipo,$tamano,$prefijo,$newnombre,$tmp_dir,$dir){
    if (!((strpos($tipo, "jpg") || strpos($tipo, "jpeg") || strpos($tipo, "JPG")) && ($tamano < 520000))){
        //- Debuelve el codigo del error y 0 porque no fue exitoso
        return array("A100",0);
    }
    else
    {     
        if (move_uploaded_file($tmp_dir."tmp", $dir."/".$nombre))
        {
            $extenc_file="";
            $extenc_file=end(explode("/",$tipo));
            $nombre_file=$prefijo.$newnombre.".".$extenc_file;
            $nombre_file=str_replace(" ","_",$nombre_file);
            rename($dir."/".$nombre,$dir."/".$nombre_file);
            //- Debuelve el nombre del archivo subido y 1 si fue exitoso
            return array($nombre_file,1);
        }
        else{
            //- Debuelve el codigo del error y 0 porque no fue exitoso
            return array("A101",0);
        }
    }
}

y tengo un catalogo de errores y ahora me envia el siguiente error:

ERROR A101: Ocurrió un error al subir el archivo y no pudo guardarse

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 02/Mar/2006, 19:18
LORDARMATO18kMar/06
Por: , el 25/Mar/2005, 21:04
enemydown User 39066113kMar/05
Por: , el 07/Nov/2004, 16:33
Sinfest deckerix13kNov/04
Por: , el 02/Ago/2004, 22:52
Ch3r1f NoSetup.org23kAug/04
Por: , el 15/Jun/2004, 21:21
alucard3003 NoSetup.org96kJun/04