Ayuda con la carga de imágenes a la instancia EC2 (Flash - > PHP)
-
10-07-2019 - |
Pregunta
He desarrollado una aplicación de carga de imágenes que utiliza Flash para cargar una imagen, cambiar el tamaño de la imagen y enviar el bytearray de los datos de la imagen a un archivo PHP que genera el archivo redimensionado usando el siguiente código:
$default_path = '/uploads/temp/';
$filename = He desarrollado una aplicación de carga de imágenes que utiliza Flash para cargar una imagen, cambiar el tamaño de la imagen y enviar el bytearray de los datos de la imagen a un archivo PHP que genera el archivo redimensionado usando el siguiente código:
file_put_contents(/uploads/temp/abcdefg.JPG) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory
Esto funcionó muy bien cuando lo estaba ejecutando desde un servidor web dedicado de Windows 2003, pero ahora que estoy tratando de ejecutar esto en una instancia de EC2 ha dejado de funcionar y solo aparece el mensaje "Error al cargar el archivo". mensaje. Puedo decir por el complemento Firebug de Firefox que los datos de bytearray se publican en la instancia EC2, pero no puedo ver qué más podría estar causando el problema.
en EC2 Estoy ejecutando una imagen CentOS con PHP y Apache instalados, ¡no sé dónde comenzar a solucionar este problema! Por favor, dime qué problemas necesito buscar aquí, ¿alguna idea?
Verifiqué los registros de error y recibí el siguiente mensaje de error:
<*>
¿Tiene esto que ver con apuntar al directorio equivocado? o permisos como alguien ha indicado a continuación? ¿Cómo le doy permiso a PHP para escribir en este directorio y debo usar la ruta absoluta para hacer referencia al directorio en el que quiero escribir la imagen?
aplausos
GET["filename"];
$destination = $default_path . $filename;
if(file_put_contents($destination, $GLOBALS["HTTP_RAW_POST_DATA"])) {
echo "The file " . basename( He desarrollado una aplicación de carga de imágenes que utiliza Flash para cargar una imagen, cambiar el tamaño de la imagen y enviar el bytearray de los datos de la imagen a un archivo PHP que genera el archivo redimensionado usando el siguiente código:
<*>
Esto funcionó muy bien cuando lo estaba ejecutando desde un servidor web dedicado de Windows 2003, pero ahora que estoy tratando de ejecutar esto en una instancia de EC2 ha dejado de funcionar y solo aparece el mensaje "Error al cargar el archivo". mensaje. Puedo decir por el complemento Firebug de Firefox que los datos de bytearray se publican en la instancia EC2, pero no puedo ver qué más podría estar causando el problema.
en EC2 Estoy ejecutando una imagen CentOS con PHP y Apache instalados, ¡no sé dónde comenzar a solucionar este problema! Por favor, dime qué problemas necesito buscar aquí, ¿alguna idea?
Verifiqué los registros de error y recibí el siguiente mensaje de error:
<*>
¿Tiene esto que ver con apuntar al directorio equivocado? o permisos como alguien ha indicado a continuación? ¿Cómo le doy permiso a PHP para escribir en este directorio y debo usar la ruta absoluta para hacer referencia al directorio en el que quiero escribir la imagen?
aplausos
FILES[ 'Filedata' ][ 'name' ] ) . " has been uploaded;";
} else {
echo "FILE UPLOAD FAILED";
}
Esto funcionó muy bien cuando lo estaba ejecutando desde un servidor web dedicado de Windows 2003, pero ahora que estoy tratando de ejecutar esto en una instancia de EC2 ha dejado de funcionar y solo aparece el mensaje "Error al cargar el archivo". mensaje. Puedo decir por el complemento Firebug de Firefox que los datos de bytearray se publican en la instancia EC2, pero no puedo ver qué más podría estar causando el problema.
en EC2 Estoy ejecutando una imagen CentOS con PHP y Apache instalados, ¡no sé dónde comenzar a solucionar este problema! Por favor, dime qué problemas necesito buscar aquí, ¿alguna idea?
Verifiqué los registros de error y recibí el siguiente mensaje de error:
<*>¿Tiene esto que ver con apuntar al directorio equivocado? o permisos como alguien ha indicado a continuación? ¿Cómo le doy permiso a PHP para escribir en este directorio y debo usar la ruta absoluta para hacer referencia al directorio en el que quiero escribir la imagen?
aplausos
Solución
Podría ser un problema de permiso, tal vez el usuario de php no tiene permiso para escribir en el directorio especificado.
¿Tiene algún mensaje en el registro de errores de apache?
Otros consejos
No sé si estás dispuesto a trabajar con las clases de otros, pero hay algunas clases de PHP EC2 que pueden ayudarte - http://sourceforge.net/projects/php-ec2/