Nueva pregunta

Pregunta:

Fecha: 04-06-2021 09:52:58 (En Español)

ERROR CON FUNCION COPY[No resuelta]

Estoy insertando en una base de datos una imagen, resulta que cuando la información almacenada si lleva imagen inserta correctamente pero cuando a la información no le pongo imagen me da el siguiente error:

Fatal error: Uncaught ValueError: Path cannot be empty in C:\xampp\htdocs\Noticias\guardar_noticia2.php:12 Stack trace: #0 C:\xampp\htdocs\Noticias\guardar_noticia2.php(12): copy('', 'imagenes/') #1 C:\xampp\htdocs\Noticias\index.php(2): include_once('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\Noticias\guardar_noticia2.php on line 12

Cabe resaltar que los campos no son obligatorios

Me pueden ayudar porfavor!
Etiquetas: PHP Votos: 1 - Respuestas: 4 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 06-06-2021 09:17:19 Aunque no colocas tu código,parece que el error se produce durante la copia de un fichero, no durante una operación en la base de datos. La funcion copy() requiere dos argumentos, el fichero de origen y el de destino (https://www.php.net/manual/es/function.copy.php). Si dejas uno de esos argumentos vacío, te produce un error. Una posible solución a esto es comprobar que tienes un fichero para copiar usando un IF() y, si eso no sucede, no ejecutar el código que incluye la función copy().

    Otra cosa a tener en cuenta es que copy() no crea directorios. Si el directorio de destino no existe, debes crearlo tu usando mkdir() antes de ejecutar copy().

    Suerte,

    JC
      Votos: 3 - Link respuesta
     
  • Fecha: 07-06-2021 03:30:20 Coincido con Juan. @Rosa: ¿podrías publicar tu código para verificarlo?   Votos: 1 - Link respuesta
     
  • Fecha: 12-06-2021 07:51:38 en si ahi mismo te dice cual es el error.
    Fatal error: Uncaught ValueError: Path cannot be empty in C:\xampp\htdocs\Noticias\guardar_noticia2.php:12 Stack trace: #0 C:\xampp\htdocs\Noticias\guardar_noticia2.php(12): copy('', 'imagenes/') #1

    Si te das cuenta dice: copy('', 'imagenes/')

    Y como ya dijeron lleva dos parametros, los cuales pasas solo 1 y erróneamente, lo que debes hacer ahi es una condicional, si no hay imagen entonces no mandas el copy si hay entonces si, ejemplo:

    if($nuevaimagen) {
    copy($rutatemporal, 'imagenes/'.$nuevaimagen);
    }

    y con eso resuelves el problema...

    Nota: El ejemplo no lo tomes literal depende tus variables y la informacion que recopilaste anteriormente, pero con el hecho de saber si hay un archivo enviado con eso debes poder ocupar la condicional.

    Saludos terricola...
      Votos: 1 - Link respuesta
     
  • Fecha: 28-09-2021 10:25:57 Recuerda que en las nuevas versiones de PHP tienes que declara NULL los campos en la BD que no siempre van a recibir información, si no lo haces da error   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com