Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/05/2011, 09:39
rafaxusirati
 
Fecha de Ingreso: julio-2010
Ubicación: Cerca Sitges (Barcelona)
Mensajes: 98
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Caracteres extraños

Evito duplicidad con numeración aleatoria 6729be5c77, antepuesto al nombre de archivo, por lo tanto es valor único, el problema es el servidor linux, que no reconoce caracteres extraños.

Para insertar foto

Código PHP:
Ver original
  1. <div align="center">
  2.             <div align="center">
  3.               <div align="center"> <span style="font-size: small">Imagen:</span>
  4.                 <input type = "file" name= "foto1" />
  5.               </div>
  6.             </div>
  7.           </div>

Lo subo al servidor junto con otros datos (servidor linux).

Código PHP:
Ver original
  1. <?
  2.     $db=mysql_connect("??","??","??",$db);
  3.         mysql_select_db("??",$db);
  4.      
  5.     $nombre=$_POST[nombre];
  6.         $apellido=$_POST[apellido];
  7.         $ciudad=$_POST[ciudad];
  8.         $comunidad=$_POST[comunidad];
  9.         $web=$_POST[web];
  10.         $titulo=$_POST[titulo];
  11.         $euros=$_POST[euros];
  12.         $nombre_usuario=$_POST[nombre_usuario];
  13.         $password=$_POST[password];
  14.         $mailcontacto=$_POST[mailcontacto];
  15.         $mail=$_POST[mail];
  16.         $telefono=$_POST[telefono];
  17.         $telefono2=$_POST[telefono2];
  18.         $provincia=$_POST[provincia];
  19.         $Pais=$_POST[Pais];
  20.         $ano_adquisicion=$_POST[ano_adquisicion];
  21.         $descripcion=$_POST[descripcion];
  22.         $categoria_=$_POST[categoria_];
  23.         $km=$_POST[km];
  24.         $m2=$_POST[m2];
  25.             $foto1 = $_FILES['foto1']['name'];
  26.         $prefijo = substr(md5(uniqid(rand())),0,10);
  27.        
  28.      
  29.     $uniqueID = substr(md5(uniqid(rand())),0,10);
  30.     $foto1 = $uniqueID.$_FILES['foto1']['name'];
  31.      
  32.      
  33.     // "directorio" es el directorio donde vas a subir la imagen.
  34.     mysql_query("insert into contactos( foto1 , foto2 ,  foto3 ,  foto4 ,  foto5 , nombre_usuario , password , mail , mailcontacto , telefono , telefono2 , nombre , apellido , web , titulo , descripcion , Pais , comunidad , ciudad , provincia , km , euros , ano_adquisicion , m2 , categoria_ )
  35.    values('/imagenes/$foto1','$foto2/datos internos/fotos/ico_sin_foto.gif','$foto3/datos internos/fotos/ico_sin_foto.gif','$foto4/datos internos/fotos/ico_sin_foto.gif','$foto5/datos internos/fotos/ico_sin_foto.gif','$nombre_usuario','$password','$mail','$mailcontacto','$telefono','$telefono2','$nombre','$apellido','$web','$tituloanuncio','$descripcion','$Pais','$comunidad','$ciudad','$provincia','$km','$euros','$ano_adquisicion','$m2','$categoria_')",$db) or die("La clave introducida, ya existe. Elige otra");  
  36.      
  37.     //ahora subamos la imagen, "directorio" es el directorio donde la vas a subir.
  38.     $copy = copy($_FILES['foto1']['tmp_name'], "../../imagenes/" . $uniqueID.$_FILES['foto1']['name']);
  39.      
  40.     ?>


¿Alguna referencia de código parecido pero que acepte carácteres extraños?

________

Este es el resultado de subir la imagen al servidor, 6729be5c77tapón baño.jpg,
Se puede evitar los acentos y ñ,

Si el usuario sube una foto llamada tapón baño.jpg , le añado 10 números aleatorios, 6729be5c77tapón baño.jpg
Hay alguna forma de eliminar el nombre del archivo “tapón baño” y mostrar por ejemplo “foto” 6729be5c77foto.jpg

Muchas gracias

Última edición por rafaxusirati; 21/05/2011 a las 09:54