Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
Ejecute el script PHP cuando se haga clic en el botón sin actualizar la página

Tengo un problema con PHP y JavaScript.

Objetivo : se debe ejecutar un script .php cuando se llama al detector de eventos del botón HTML en el archivo .js sin recargar la página.

Resultado esperado : cuando se hace clic en el botón, se ejecuta el script PHP. En mi caso, se descargará un archivo desde una URL al servidor.

Resultado real : no sé cómo llamar al script PHP desde el archivo JavaScript.

Intenté usar AJAX, pero nada funcionó realmente. Además, no sabía dónde colocar exactamente la referencia de la biblioteca para JQuery.

También traté de usar un formulario, y dentro de él una entrada (type="submit"), pero cuando esto llama a la función PHP, actualiza la página y todo en la página que mostraba el lado del cliente desaparece.

El botón HTML:

 <button type="button" class="button" id="btnsubmit">Submit</button> <img class="image" id="someimage">

El detector de eventos de JavaScript (tengo el botón y la imagen ya asignados a una var):

 btnsubmit.addEventListener("click", () => { someimage.src = "directory/downloadedimg.png"; });

El script PHP:

 <?php $path = 'https://somewebsite.com/imagetodownload.png'; $dir = 'directory/downloadedimg.png'; $content = file_get_contents($path); $fp = fopen($dir, "w"); fwrite($fp, $content); fclose($fp); ?>

Entonces, en general, quiero hacer lo siguiente cuando se hace clic en el botón:

  1. Descargar la imagen de la URL a mi servidor usando PHP
  2. Muestre la imagen del servidor (no de la URL, sé que es posible, pero para mi uso necesito que sea del servidor) en una imagen HTML usando JavaScript

Probé la respuesta de @Abhishek y pensé que el problema ahora está en mi archivo php. Siempre me da un error interno del servidor. ¿Detecta algún error en este código para cargar la imagen desde $path (es una URL) a mi servidor (serverdirectorypath es $image_url):

 <?php $params = $_POST['data']; $path = $params['path']; $image_url = $params['image-url']; $content = file_get_contents($path); $fp = fopen($image_url, "w"); fwrite($fp, $content); fclose($fp); ?>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes hacer las siguientes cosas.

  1. Agregue jquery en la sección principal/inferior de su página como
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  1. Use jquery AJAX y llame a su script php como se muestra a continuación
 $("#button-id").on('click',function(){ var data = {"image-url" : "directory/downloadedimg.png","path" : "https://somewebsite.com/imagetodownload.png"}; $.ajax({ type: 'POST', url: "{hostname}/test.php", data: data, dataType: "json", success: function(resultData) { alert("success"); } }); });
  1. En su script php ex-test.php, use un código como el siguiente para obtener parámetros de publicación.
 $params = $_POST['data']; $path = $params['path']; $image_url = $params['image-url'];

y hacer la operación comercial, que desea hacer en este.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No necesita otra biblioteca, puede hacer esto con vanillaJs.
Su malentendido proviene de: "cómo llamar a php con Js y obtener el valor devuelto"
Comience aquí, tiene un ejemplo: https://www.w3schools.com/php/php_ajax_php.asp
Una vez que pueda llamar a su script PHP, habrá hecho el 70% de su objetivo

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda