Foros del Web » Programando para Internet » PHP »

Ayuda con PHP

Estas en el tema de Ayuda con PHP en el foro de PHP en Foros del Web. Hola amigos estaba subiendo un sistema en php para poder subir imagenes en php, lo encontre en esta web, el codigo es el siguiente: Sube.php ...
  #1 (permalink)  
Antiguo 04/06/2008, 20:41
Avatar de cosoth  
Fecha de Ingreso: junio-2008
Mensajes: 18
Antigüedad: 15 años, 10 meses
Puntos: 1
Ayuda con PHP

Hola amigos estaba subiendo un sistema en php para poder subir imagenes en php, lo encontre en esta web, el codigo es el siguiente:
Sube.php
Código:
<?  
if($_POST){ 
// Creamos la cadena aletoria 
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; 
$cad = ""; 
for($i=0;$i<12;$i++) { 
$cad .= substr($str,rand(0,62),1); 
} 
// Fin de la creacion de la cadena aletoria 
$tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero 
$tamaño_max="50000000000"; // Tamaño maximo permitido 
if( $tamano < $tamaño_max){ // Comprovamos el tamaño  
$destino = 'uploaded' ; // Carpeta donde se guardata 
$sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/ 
$tipo=$sep[1]; // Optenemos el tipo de imagen que es 
if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen 
move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$cad.'.'.$tipo);  // Subimos el archivo 
include('post.html'); // Incluimos la plantilla 
} 
else echo "el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos 
} 
else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos 
} 
?>
post.html
Código HTML:
La imagen fue enviada con exito.<br><strong>Datos:</strong><br>
<ul>
  <li>Tipo <?=$tipo?></li>
  <li>Ubicasion http://www.midomini.com.ar/<?=$destino . '/' .$cad.'.'.$tipo?></li>
</ul><br>
<strong>Codigo HTML:</strong><br>
<textarea name="html" id="html"><img src="http://www.midomini.com.ar/<?=$destino.'/'.$cad.'.'.$tipo?>"><br>Por www.midomini.com.ar</textarea><br>
<img src="http://www.midomini.com.ar/<?=$destino.'/'.$cad.'.'.$tipo?>"> 
form.html
Código HTML:
<script>
function ver(image){
document.getElementById('image').innerHTML = "<img src='"+image+"'>" 
}
</script>
<form action="sube.php" method="post" enctype="multipart/form-data"> 
    Archivo: <input name="file" type="file"  onChange="ver(form.file.value)"> 
    <input name="submit" type="submit" value="Upload!">  
</form><br> <span id="image"></span> 
ahora el problema que en mi sitio me genera el siguiente error:
Cita:
Warning: move_uploaded_file(uploaded/0UocPwYiwxa.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/a4921920/public_html/Subir/sube.php on line 17
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpH01mOG' to 'uploaded/0UocPwYiwxa.gif' in /home/a4921920/public_html/Subir/sube.php on line 17
y pues la verdad quisiera que me indiquen como soluconarlo, soy nuevo en este asunto... gracias de antemano...
  #2 (permalink)  
Antiguo 04/06/2008, 20:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con PHP

debes poner la ruta correcta como segundo parametro de de mode_uploaded_file()

vaya.... explicitamente pide que la ruta (bueno, tu se lo indicaste asi y no culpo a PHP) sea esta...

/home/a4921920/public_html/Subir/uploaded/ ¿es real la ruta????

ya que si no... debes poner una ruta que si exista, suerte!

Código PHP:
$destino 'uploaded' // Carpeta donde se guardata 
siendo $destino .... la ruta REAL .... preferentemente

aunque.... me imagino que la ruta donde imaginarias era esta???

/home/a4921920/public_html/uploaded/ ¿si o no????

entonces...

Código PHP:
$destino '../uploaded' // asi deberia ser 
OJO: con las rutas.... y mas precisamente DONDE solicitas tal "ruta" si no existe en el contexto de ejecucion del script deberas ajustar la ruta exacta
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/06/2008, 22:31
Avatar de cosoth  
Fecha de Ingreso: junio-2008
Mensajes: 18
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ayuda con PHP

Hize lo que me dices pero me sigue rebotando el error:
Warning: move_uploaded_file(uploaded/MjU2yoTO0uLA.pjpeg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/a4921920/public_html/Subir/sube.php on line 17
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpk70hA5' to 'uploaded/MjU2yoTO0uLA.pjpeg' in /home/a4921920/public_html/Subir/sube.php on line 17
  #4 (permalink)  
Antiguo 04/06/2008, 22:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con PHP

bueno sigue siendo tu error.... hasta que le pongas la ruta exacta y completa (existente) suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/07/2008, 13:11
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Ayuda con PHP

No tiene nada que ver con la ruta, al principio creia lo mismo hasta que investigue acerca de los permisos en las carpetas.

si el servidor en donde alojas tu web es externa y con servidor linux, te recomiendo que uses el codigo de siempre
Código PHP:
$destino"Videos/" $newName
if (
move_uploaded_file($_FILES['video']['tmp_name'],$destino)) 
pero antes de eso debes entrar al ftp de tu web y cambiarle las propiedades de la carpeta a la que vas a subir tu archivo (clic dercho - propiedades) , en las opciones de permiso existe una columna central (Escribir) asegurate que este activado los 3 checks. con eso solucione el problema.

si el servidor es local, ejecuta el archivo php.ini (Inicio/Ejecutar) y busca la opcion file_uploads= Off deberia estar asi file_uploads=On

En algunos sitios encontre que la solucion seria ponerle al codigo php algo como chmod("carpeta/", 0777) pero al parecer tampoco es una solucion optima .

Espero que te sirva de algo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:02.