Comunidad de diseño web y desarrollo en internet online

Php Warning: copy

Citar            
MensajeEscrito el 24 Jul 2007 03:45 am
Que tal

Le cuento muy breve si subo un archivo por medio de upload y si este archivo ya existe me arroja un

Warning: copy(../noticias/noticia4.xml) [function.copy]: failed to open stream: Permission denied in /home/colevita/public_html/admin/upnoticia.php on line 45

Es decir si subo uno.jpg lo sube y si lo vuelvo a subir uno.jpg como ya existe me dice que no puedo

Warning: copy(../noticias/noticia4.xml) [function.copy]: failed to open stream: Permission denied in..

Como puedo hacer que si ya existe el ARCHVO X me lo reemplaze o que lo BORRE y lo vuelva a SUBIR

AYUDA PORFA

le dejos el php que sube los archivos


Código :

<?php
$extensiones=array("html","exe","php");

$path="../noticias";
$nombre=$HTTP_POST_FILES['archivo']['name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
for($i=0; $i<=$valor; $i++) {
    if($extensiones[$i] == $var[1]) {
    echo "Tipo de Archivo no admitido";
    exit;
    }
}
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
 {
  copy($HTTP_POST_FILES['archivo']['tmp_name'], "$path/$nombre");
  echo "El archivo se ha subido correctamente al servidor, muchas gracias <p>";
  echo "Nombre: $nombre <p>";
  echo "Tamaño: $tamanio <p>";
  echo "Tipo: $tipo";
 }
else { echo "Error al subir el archivo"; }
?>

Por chaleco

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Jul 2007 10:17 pm
una solucion mediante codigo seria separar el nombre del archivo, asi como lo haces con la extension nombre.extension, almacena ese valor y cuando estes dentro del if si te para evitar el error, puedes usar el rename de php

Por neo1982

0 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Jul 2007 01:39 am
La solución es borrar el archivo si existe y luego moverlo. Las funciones is_file(verifica si un archivo existe) y unlink(funcion que borra un archivo) te serviran para eso.

Copy como lo estas usando deja el archivo en la carpeta temporal, asi que mejor usa move_uploaded_file

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.