Primer post en el foro..
Quería hacer una cosilla :
Subir una imagen, redimensionarla a un tamaño y guardarla en un directorio; y después crear un thumbnail y gurdarlo en otro directorio.
Quité unas cuantas cosas y quedó en esto ( supongo q lo puedo dejar mejor ). Con un formulario envío la imagen al script. Habilité 2 directorios con los mismos nombres q dejé en las variables correspondientes y en la ruta correcta. De hecho copia, redimensiona la imagen en el directorio "fotosConciertos/", pero en el directorio donde debe copiar y redimensionar como thumbnail, "fotosConciertosT/", crea el archivo de imagen con las dimensiones del thumbnail, pero no llega a copiar la imagen original al nuevo archivo, quedando un archivo de color negro.
error q pone :
Warning: imagecreatefromjpeg(fotosConciertosT/imagen.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\AppServ\www\disco600\nueva web\subirFotoConcierto.php on line 100
Logicamente el apache y php versión está para q soporte GD2 y eso
Supongo q será una tontería pero no alcanzo. No llevo mucho en esto de la programación..
el script :
Código PHP:
if ($_POST['submit']){
copiarRedImagen ();
}else{
echo "Imagen no recibida";
};
function copiarRedImagen (){
$extensiones = array('.jpg','.jpeg','.gif','.png');
$anchura_max = 800;
$altura_max = 600;
$tamano_max=512000;
$imgarchivo = $_FILES['imgarchivo']['name'];
$imgarchivo = strtolower( $imgarchivo );
$temporal = $_FILES['imgarchivo']['tmp_name'];
$fichero_ruta= "fotosConciertos/" . $imgarchivo;
$fichero_ruta_thumb= "fotosConciertosT/tn_" . $imgarchivo;
$redx = "600";
$redy = "450";
$redx_thumb = "100";
$redy_thumb = "75";
if ( file_exists ($fichero_ruta) ){
echo "Imagen ya existe";
};
move_uploaded_file($temporal,$fichero_ruta);
move_uploaded_file($temporal,$fichero_ruta_thumb);
$datos = getimagesize ($fichero_ruta);
$ext = strrchr($fichero_ruta,".");
$ext_correcta="no";
foreach ($extensiones as $extension){
if ($ext == $extension){
$ext_correcta="si";
}
}
if ($ext_correcta=="no"){
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
$tamano=filesize($fichero_ruta);
if ($tamano>$tamano_max){
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
if (($anchura_max!=0) && ($datos[0]>$anchura_max)){
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
if ( $datos[2]==1 ){
if (function_exists("imagecreatefromgif")){
$img = imagecreatefromgif($fichero_ruta);
$img_thumb = imagecreatefromgif($fichero_ruta_thumb);
} else {
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
if ($datos[2]==2){
if (function_exists("imagecreatefromjpeg")){
$img = imagecreatefromjpeg($fichero_ruta);
$img_thumb = imagecreatefromjpeg($fichero_ruta_thumb);
} else {
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
if ($datos[2]==3){
if (function_exists("imagecreatefrompng")){
$img = imagecreatefrompng($fichero_ruta);
$img_thumb = imagecreatefrompng($fichero_ruta_thumb);
} else {
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
$ancho_orig = $datos[0];
$alto_orig = $datos[1];
if ($ancho_orig > $alto_orig){
$ancho_dest = $redx;
$alto_dest = ($ancho_dest/$ancho_orig)*$alto_orig;
$ancho_dest_thumb = $redx_thumb;
$alto_dest_thumb = ($ancho_dest_thumb/$ancho_orig)*$alto_orig;
}else{
$alto_dest = $redy;
$ancho_dest = ($alto_dest/$alto_orig)*$ancho_orig;
$alto_dest_thumb = $redy_thumb;
$ancho_dest_thumb = ($alto_dest_thumb/$alto_orig)*$ancho_orig;
}
$img2 = @imagecreatetruecolor($ancho_dest,$alto_dest) or $img2=imagecreate($ancho_dest,$alto_dest);
$img2_thumb = @imagecreatetruecolor($ancho_dest_thumb,$alto_dest_thumb) or $img2_thumb=imagecreate($ancho_dest_thumb,$alto_dest_thumb);
@imagecopyresampled($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig) or imagecopyresized($img2,$img,0,0,0,0,$ancho_dest,$alto_dest,$ancho_orig,$alto_orig);
@imagecopyresampled($img2_thumb,$img_thumb,0,0,0,0,$ancho_dest_thumb,$alto_dest_thumb,$ancho_orig,$alto_orig) or imagecopyresized($img2_thumb,$img_thumb,0,0,0,0,$ancho_dest_thumb,$alto_dest_thumb,$ancho_orig,$alto_orig);
if ($datos[2]==1){
if (function_exists("imagegif")){
imagegif($img2, $fichero_ruta);
imagegif($img2_thumb, $fichero_ruta_thumb);
}else{
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
if ($datos[2]==2){
if (function_exists("imagejpeg")){
imagejpeg($img2, $fichero_ruta);
imagejpeg($img2_thumb, $fichero_ruta_thumb);
}else{
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
if ($datos[2]==3){
if (function_exists("imagepng")){
imagepng($imgRed2, $fichero_ruta);
imagepng($imgRed2_thumb, $fichero_ruta_thumb);
}else{
unlink ($fichero_ruta);
unlink ($fichero_ruta_thumb);
}
}
clearstatcache();
echo "<img src=\"$fichero_ruta\" alt=\"$fichero_ruta\" /><br />\n";
echo "<br>";
echo "<img src=\"$fichero_ruta_thumb\" alt=\"$fichero_ruta_thumb\" /><br />\n";
}
Urge una ayudita..
GRACIAS quienquiera q se preste