Código PHP:
function subirImagen($nombreinput,$destino='',$ancho=0,$alto=0,$nombreNue='',$borrar=true){
$archivo=$_FILES[$nombreinput];
if ($archivo['error'] == 0){
if(is_uploaded_file($archivo['tmp_name'])){
$archivoNue='';
if ($nombreNue != ''){
$infoTemp= explode('.',$archivo['name']);
$archivoNue=$destino.$nombreNue.'.'.$infoTemp[(count($infoTemp)-1)];
}else
$archivoNue=$destino.$archivo['name'];
copy($archivo['tmp_name'],$archivoNue);
if ($borrar)unlink($archivo['tmp_name']);
if ($ancho != 0 || $alto != 0)
redimensionaImagen($archivoNue,$ancho,$alto);
}else
echo 'Falla en subida de archivo, no es el archivo cargado';
}else
echo 'Falla en subida de archivo'.$archivo['error'].'<br/>';
}
$nombreinput -> es el nombre del input en la forma
$destino -> es la carpeta donde se colocará el archivo
$ancho y $alto -> son las posibles nuevas dimensiones de la imagen
$nombreNue -> es posible nuevo nombre para la imagen y
$borrar -> es una bandera que indicará si se debe borrar el temporal que se crea
entonces, al intentar subir una imagen, me regresa la siguiente advertencia:
Código HTML:
Warning: copy(../../imagenes/20-04-09_1514.jpg) [function.copy]: failed to open stream: Permission denied in /home/esfera/public_html/aceba/admin/php/xmlprocessing.php on line 205 imagen no encontrada
Entonces me gustaría saber ¿por qué me marca esa advertencia en la instrucción copy(), cuando de manera local el código me funciona correctamente?¿acaso es el clasico problema de permisos 0777? si es así, se puede hacer dinámicamente desde PHP ¿verdad? Porque incluso en la forma ya le puse el siguiente input:
Código HTML:
<input type="hidden" name="max_file_size" value="10000000">