Foros del Web » Programando para Internet » PHP »

upload de imagen

Estas en el tema de upload de imagen en el foro de PHP en Foros del Web. Ya busque información al respecto en estos foros pero sigo con el mismo problema. No puedo subir un archivo a mi servidor. El código en ...
  #1 (permalink)  
Antiguo 24/03/2006, 00:00
 
Fecha de Ingreso: enero-2005
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 0
upload de imagen

Ya busque información al respecto en estos foros pero sigo con el mismo problema. No puedo subir un archivo a mi servidor. El código en mi máquina funciona bien usando windows. En el server hay Linux, supongo que ese es el problema. Ya le puse permisos 777 a la carpeta pero aún no se soluciona.

El código y el error que me sale son:

código:
if (move_uploaded_file($archivo, "../imagenes/productos/".$nombre_archivo)) {
echo "<center><h3>El archivo se subió y copió con éxito.</h3></center>";
}
else {
echo "<center><h3>Error al mover el archivo de lugar.</h3></center>";
}

error:
Warning: move_uploaded_file(../imagenes/productos/escudo.jpg): failed to open stream: Read-only file system in /home/alumnos/gen00/wh0g3/www/admin/admin_productos.php on line 24

Warning: move_uploaded_file(): Unable to move '/tmp/phpMXA88i' to '../imagenes/productos/escudo.jpg' in /home/alumnos/gen00/wh0g3/www/admin/admin_productos.php on line 24

Si alguien esta interesado en saber la configuración del servidor que estoy usando este es el link:

www_cs_buap_mx/~wh0g3/phpinfo.php

Gracias de antemano.
  #2 (permalink)  
Antiguo 24/03/2006, 02:43
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Le diste permiso a los directios para poder subir imagenes?, tienen que tener permisos totales (777)...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 24/03/2006, 09:41
 
Fecha de Ingreso: enero-2005
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 0
si

ya le puse todos los permisos y el problema sigue
  #4 (permalink)  
Antiguo 24/03/2006, 12:32
 
Fecha de Ingreso: enero-2006
Ubicación: Valencia
Mensajes: 91
Antigüedad: 11 años, 10 meses
Puntos: 1
Hola

En la linea
if (move_uploaded_file($archivo, "../imagenes/productos/".$nombre_archivo))

El valor de $archivo cual es?
Es similar a
$archivo = $HTTP_POST_FILES[archivo ][tmp_name];

Si pones todo el código lo puedo probar para ver el problema,
O sino te puedo pasar un codigo que funciona correctamente.

Saludos
  #5 (permalink)  
Antiguo 29/03/2006, 08:53
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 11 años, 9 meses
Puntos: 3
Codigo que funciona

Por favor, me interesaría ese código ya que tengo el mismo problema y no consigo subir ficheros.

Con el <input type="file"> obtengo la ruta completa del fichero de mi ordenador pero ya no paso de ahi, no consigo coger ese fichero y subirlo a una carpeta del servidor.

Una mano por favor.
Gracias.
  #6 (permalink)  
Antiguo 29/03/2006, 09:07
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 11 años, 11 meses
Puntos: 2
He leido este post y yo tambien tenida la misma cuestion, investigando y estudiando un poco un codigo conseguir hacerme este escript. permite subir documentos o fotos al server con una tabla de mysql de registro, quiza les interese. tienen que hacer dos carpetas: una temp y otra docs:
Código PHP:
<html>
<head>
<title>Upload File To MySQL Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.box {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    border: 1px solid #000000;
}
-->
</style>
</head>

<body>
<?
if(isset($_POST['upload']))
{
        
$fileName $_FILES['userfile']['name'];
        
$tmpName  $_FILES['userfile']['tmp_name'];
        
$fileSize $_FILES['userfile']['size'];
        
$fileType $_FILES['userfile']['type'];
        
        
$fp fopen($tmpName'r');
        
$content fread($fp$fileSize);
        
$content addslashes($content);
        
fclose($fp);
        
        if(!
get_magic_quotes_gpc())
        {
            
$fileName addslashes($fileName);
        }
        

        include 
'c:\apache\php\pear\PEAR\config.php';
        include 
'db.php';
        
  
$query "INSERT INTO docs (imo, name, size, type, path ) ".
             
"VALUES ('$imo', '$fileName', '$fileSize', '$fileType', '$filePath')";

    
mysql_query($query) or die('Error, query failed : ' mysql_error());                    

    echo 
"<br>File uploaded<br>";
}        
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
  <table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
    <tr> 
      <td width="246"><p>
          <input type="hidden" name="MAX_FILE_SIZE" value="100000000">
                        Imo 
                        <input type="text" name="imo" id="imo">
                      </p>
        <p>
          <input name="userfile" type="file" class="box" id="userfile">
        </p></td>
      <td width="80"><input name="upload" type="submit" class="box" id="upload" value="  Upload  "></td>
    </tr>
  </table>
</form>
</body>
</html>
  #7 (permalink)  
Antiguo 29/03/2006, 10:07
 
Fecha de Ingreso: enero-2005
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 0
Muchas gracias, Floog.

Ya fuí a ver al administrador de la red de ese servidor, pues es de mi escuela, y me dijo que es un problema debido al esquema de seguridad de los servidores.

Me explico pero no le entendí, no sé de esas cosas. Más o menos me dijo que era debido a que el server usa un alias y con el alias tengo unos permisos pero con el nombre real tengo otros. En el server real no tengo permisos de escritura, de hecho nadie los tiene. En fin =(

Ya me busque un servidor gratuito muy bueno. Estuve probando muchos y finalmente este funcionó: www.byethost.com
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 15:13.