¿Algun usuario se ha topado con este estupendo error al probar este ejemplo?
Valor del Campo de Texto: archivo
Warning: Unable to create '016.jpg': Permiso denegado in /var/www/html/subir.php on line 55
Warning: Unable to move '/var/www/html/tmp/php8Y90P3' to '016.jpg' in /var/www/html/subir.php on line 55
Ocurrió algún error al subir el fichero. No pudo guardarse.
Lo dicho, si alguien sabe como solucionar esto, que postee aqui o me mande un email.
Gracias por Anticipado
El problema esta en los permisos del directorio donde se van a mover los archivos, en modo consola haz un chmod 777 nombreDirectorio, o implementa un pequeño script con php que te lo haga si no tienes accesso en modo consola
los errores que muestras parece ser que es porque en el directorio donde pusiste los scripts no le diste el permiso chmod, colocate arriba del directorio y con el menu contextual te aparecera un a opcion de chmod ponle 777...
bye
No es por problema de permisos, haciendole un "ls" al directorio en cuestión sale esto:
[root@ServidorWEB directorio]# ls -al /directorio/en/cuestion
total 80
drwxrwxrwx 2 usuario usuario 4096 feb 24 20:33 .
Dios mio, no siento las piernas... ¿será problema de la RedHat 9.0, del php.ini, de bush?
Saludos y Gracias
efectivamente, son los permisos en los directorios los que influyen en el envio de los archivos, no obstante, aconsejo crear una carpeta y en esa colocar el form y el php, ya que en ella, también quedan los archivos enviados.
FASAT
SANTIAGO, CHILE
El campo MAX_FILE_SIZE = 100000, en que se mide exactamente, en bits o bytes? Lo que quiere decir en este ejemplo es que no se pueden subir ficheros de más de 100 Kb o 100 KB.
Es verdad que sólo se pueden subir ficheros de hasta 2 MB.
Si la unidad de medida es en bits, entonces para poder subir como mucho ficheros de un 1MB el valor de MAX_FILE_SIZE será 1024 KB que es 1024 * 1000 * B = 1024 * 1000 * 8 bits, no?
Espero que alguien lo entienda
Saludos, david
| Por: José A. Rivas G. | | 01/10/04
|
He utilizado este ejemplo para construir un upload de logotipos para un directorio que tengo en mi web, el comentario va por lo siguiente: Ya se establecen es el ejemplo como limitar el tipo de archivo y tamaño del mismo, pero necesito bloquear las dimensiones del mismo, realice distintas pruebas con getimagesize() y efectivamente me muestra las dimensiones de la imagen pero solo despues de que la misma se subió, hay alguna variable de tipo $HTTP_POST_FILES que deuelva el alto y ancho de un archivo de imagen. Gracias...
funciona perfecto el upload, salvo con los archivos de extension "rar", le añadi el codiogo qeu realiza la comprobacion pero no me funciona, no asi con los zip u otras extensiones con las que no tengo problemas
Genial el artículo. Me gustaría saber si es posible incluir en el archivo alguna sentencia para enviar por email desde el servidor el documento subido para tener una copia al momento de los archivos subidos desde el formulario.
Gracias
| Por: cesar sepulveda | | 14/4/05
|
Encuentro espectacular su ayuda. Estube tratando de aplicar este codigo al formulario de envio y no me adjunta el archivo y no lo envia al correo. Quisiera saber como se hace, serian tan amables de enviarme alguna ayuda.
Concretamente quisiera saber como adjuntar un archivo a un formulario y enviar los datos de este con el archivo al correo de destino.
gracias.
| Por: cesar sepulveda | | 26/4/05
|
Exelente demostración de upload en php. Los felicito de verdad. Les cuento que me resulto perfectamente. El unico inconveniente es que no se a donde envia el archivo. Hay alguna de enviarlo a un correo electronico?. Ojala me contesten gracias por todo y los felicito!!!!
| Por: oriol soriano | | 26/7/05
|
El script del ejemplo, sube el archivo al directorio pre-definido por defecto en php.ini para uploads, lo que hace la función move_uploaded_file() es moverlo de este directorio temporal al que tu decidas de la siguiente manera move_uploaded_file(directorio_temporal,directorio_nuevo) en el ejemplo solo pone nombre del archivo, con lo que se queda en el mismo directorio temporal definido en php.ini
| Por: Dario Cortes Martinez | | 17/11/05
|
amigos
encontre la manera de guardar los archivos en carpetas designadas aqui les envio el codigo
<?
$path="\wwwarchivos/";
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
if (!((strpos($tipo_archivo, "doc") || strpos($tipo_archivo, "zip") || strpos($tipo_archivo,"jpg")) && ($tamano_archivo < 2000000000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos *.doc, *.zip o *.jpg<br><li>se permiten archivos de ?? máximo.</td></tr></table><br>";
echo "<a href='index.php'>Click aquí</a> para corregir los campos.";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $path.$_FILES['userfile']['name'])){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>
si se dan cuenta ocupe una variable path para darle la direccion
en mi caso trabajo con una carpeta archivos dentro de la raiz
localhostwwwarchivos
espero que les sirva
10.4
| Por: Rodrigo Mazzo | | 28/1/06
|
Para los que tengan problemas con las extensiones rar o pptsimilares, para efectos de este script hay cosas que cambian. Por ejmplo, un archivo doc es msword, y uno ppt debe escribirse como vnd.ms-powerpoint. Para averiguar la extensión de una extensión particular, yo usé un "echo $HTTP_POST_FILES['userfile']['type']; "
Espero le sirva a alguien.. saludos,
Rodrigo
Me encanto el articulo pero tengo una duda muy pequeña estoy apenas aprendiendo php, y me gustaria saber o que me explicaran un poco mas donde se descarga el archivo que se subio ?
el archivo se guarda en el directorio en donde se encuentra la pagina.php
imponente, explica muchas cosas que no sabia, muchas gracias, hace como 3 dias que buscaba algo que me explicara asi de claro, gracias
Muchas Gracias por esta demostración ordenada, correcta y muy bien definida, con tu aporte será suficiente para actulizar mi página web muchas gracias...
PorFavor no dejes de escribir Articulos para los iniciantes en PHP. Otra vez Gracias...
Hola aquí les envio un script modificado que si funciona:tu página se llamrá:subir_archivo.php
<body>
Hola, estoy probando el codigo
<?php
echo $_POST['cadenatexto']." Nombres<br>";
if ($_POST['cadenatexto']!='')
{
$path="./archivos_php/";
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
if (!((strpos($nombre_archivo, "doc") || strpos($nombre_archivo, "gif") || strpos($nombre_archivo,"jpg"))))
{
echo "La extensión o el tamaño de los archivos no es correcta";
}
else
{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $path.$_FILES['userfile']['name']))
{
echo "El archivo ha sido cargado correctamente.";
}
else
{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
}
?>
<form action="subir_archivo.php" method="post" enctype="multipart/form-data">
<b>Campo de tipo texto:</b>
<br>
<input type="text" name="cadenatexto" size="20" maxlength="100">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
<br>
<br>
<b>Enviar un nuevo archivo: </b>
<br>
<input name="userfile" type="file">
<br>
<input type="submit" value="Enviar">
</form>
</body>
a los que tengan éstas 2 Advertencias - rutas son un ejemplo real - ::
-
move_uploaded_file(/uploads/images/sample.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in /scripts/php/system/upload-file.php on line X
-
y
-
move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/somefilename' to '/uploads/images/sample.png' in /scripts/php/system/upload-file.php on line X
-
probablemente la ruta '/uploads/images/sample.png' esté incompleta, en mi caso la ruta completa es "/home/x-user/public_html/uploads/images/sample.png"
para saber el directorio actual de trabajo pueden usar getcwd(), de seguro se chingan al error.
XD
:)
| Por: Leonardo Lux | | 03/11/07
|
Pueden encontrar una manera más actualizada de subir archivos en:
http://cl2.php.net/manual/es/features.file-upload.php
(por ejemplo, los arreglos $HTTP_POST_FILES están desactualizados en PHP5. Siempre vean la documentación en php.net).
<form action="subir_archivo.php" method="post" enctype="multipart/form-data">
<b>Campo de tipo texto:</b>
<br>
<input type="text" name="cadenatexto" size="20" maxlength="100">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
<br>
<br>
<b>Enviar un nuevo archivo: </b>
<br>
<input name="userfile" type="file">
<br>
<input type="submit" value="Enviar">
</form>
</body>
<?php
// getcwd() ---> Captura la direccion correcta
$dir=getcwd();
echo $_POST['cadenatexto']." Nombres<br>";
if ($_POST['cadenatexto']!='')
{
// Utilizamos la variable $path para capturar la direccion completa incluyendo las carpetas [ /img_productos/webcams/] donde desea guardar sus imagenes
$path=$dir."/img_productos/webcams/";
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
if (!((strpos($nombre_archivo, "doc") || strpos($nombre_archivo, "gif") || strpos($nombre_archivo,"jpg"))))
{
echo "La extensión o el tamaño de los archivos no es correcta";
}
else
{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $path.$_FILES['userfile']['name']))
{
echo "El archivo ha sido cargado correctamente.";
}
else
{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
}
?>
probe los codigos que han posteado, y encontre que no es necesario usar <br />
$dir=getcwd(); si me funciono con solo poner $path="./images/";<br />
gracias a los que postearon el codigo realmente es muy util.
No pasa nada con los permisos Por: Ricardo | | 13/5/09
|
La verdad es que es el primer hosting con que topo en esto. Hice lo de siempre, crear una carpeta, darle los permisos, el formulario para que suban archivos pdf y todo bien. El problema me surge cuando se quieren leer los pdf, pues me sale el error 403, Forbbiden, es decir, no me está dejando leer el pdf, a pesar de que la carpeta contiene los permisos necesarios la ruta donde se guardan sería algo así archivos/archivo.pdf ese subió y todo bien pero al momento de leerlo, si no doy permiso por archivo, no lo lee. ¿A qué se debera esto?. El hosting no es mío, es de pago, servidor compartido.<br />
<br />
Saludos, espero me puedan ayudar.
yo lo probe sin incluir el input el input type=hidden y me funciono.
esto lo probe con el xampp en mi casa.
alguien sabe si realmente es imprescindible??
gracias, me re ayudaron.
ya esta solucionado Por: es | | 19/5/09
|
ES PROBLEMA DE PERMISOS... CHMOD. PONGAN 777 EN LA CASILLA QUE APARECE. y PONGAN PERMITIR ESCRITURA (EN ALGUNOS CASOS)
El problema!! Por: Malc | | 21/5/09
|
Es que si lo subes con un script de este tipo, el owner del archivo será APACHE. Que implica esto? Que si no eres tu quien administra el server, despues no vas a poder manipular ese archivo q subiste, me refiero a copiarlo, moverlo o eliminarlo desde el ftp, si no que tendrá q ser con otro script, para el quien lo esté operando sea el mismo owner, osea, el aparche.
No me explique? Ok... intenta descargar ese archivo q subiste o eliminarlo via ftp.
y el texto? Por: javier | | 24/7/09
|
esta muy bien la explicasion y me funciono muy bien pero tengo una duda, el texto donde se almasena?, con el archivo no may problema, lo puedo en contrar muy facil, pero el texto no se donde se almasena ni como velo
Problemillas Por: Ares | | 28/7/09
|
Hola! Lo primero, gracias por el artículo, es muy claro ^^
Tengo dos preguntas{
Lo ha probado pero al ordenador servidor le aparece el código fuente del php :S Por qué?;
En qué se diferencia poner "<?php" de poner "<?" a secas en el script?? Cambia algo importante?;
}
Gracias ^^
Bueno, buenisimo Por: Daniel | | 25/9/09
|
Felicito al creador de este archivo
para algunos seguro es una tonteria, pero yo andaba pariendo desde hace tiempo, se que esta viejito el archivo pero funciona y eso es lo importante. de puta madre viejo te quedo esta vaina.
y si quiero guardarlo en otro host? Por: mario | | 13/10/09
|
hola, antesq nada muy bueno el tutorial, pero me surge una duda, si el archivo wuireo copiarlo en otro servidor, que deveria hacer para moverlo? espero ser claro. gracias
y para 2 archivos? Por: abraham | | 28/11/09
|
Y como hacer para recojer dos archivos en el mismo formulario, por ejemplo un pdf y una imagen???
espero sus respuestas graciassss
| Información concreta
| 26/12/09 |
Hola, no me parece divertido esto de exponer una idea y despues no se cumpla la espectativa. Lo que veo es que es mas complejo la guia que la solución. Alquien puede decirme donde hay un "simple" y "básico" sistema de gestion de contenidos, sin que tenga que padece de explicaciones que no llegan a nada...
marcosg... | muchisima gracias a todos !!!!!!!!!!!!
| 31/1/10 |
al fin pude encontrar un articulo q explique tan bien. gracias gracias gracias gracias de verdad xq ya estuve varios dias en la busqueda de como subir archivo a un servidor este me funciono perfecto. Solo q todavia no entendi como darle el directorio en el q deseo guardar la imagen, pero bueno no importa con tal q el codigo anda, el resto tratare de entender.....gracias de verdad
jmalito | gracias
| 03/2/10 |
Gracias men me funciono perfecto, ahora mi pregunta es como hago para almacenarlo en una base de datos postgres, y que estructura debe llevar la tabla ¿osea que campos debo crear y de que tipo?, tambien como hago para traer el documento desde una consulta? en mi caso necesito manipular fotos de diferentes proveedores. Gracias nuevamente espero pronta respuesta.
uploads Por: phpjunior | | 08/2/10
|
Muchas gracias, funciona sin problemas
Problema al subir archivos Por: Dito | | 24/2/10
|
He desarrollado una pag. a traves de la cual se sube archivos al servidor en una intranet, el detalle está que si el archivo se envia en una máquina que se encuentra en el mismo segmento no hay problema, pero si es de otro segmento, no sube nada.
¿alguien sabe a que se debe?
| Subir ficheros por ftp
| 02/3/10 |
¿Alguien ha intentado hacer un ftp con php?
Me refiero a FTP verdadero, no subir el archivo al servidor y pasarle a un dir por ftp, el problema que tengo es que tengo que subir pequeños videos de unos 30 - 50 mb pero claro subiendolos desde un form te vuelves loco esperando y la mayoria de las veces o te da error o cambias el timeout del server a infinito
rltxt | Problemas conel form enctype="multipart/form-data"
| 17/3/10 |
Hola, tengo una consulta para hacer a proposito del formulario que sube archivos y datos. Antes de guardar todos los datos intento realizar controles de consistencia de datos mediante un función js. El problema es que si ejecuto el submit del form desde el js, una ves que los controles fueron realizados, me da el siguiente error "Object doesn't support this property or method". pero si el submit lo ejecuto desde un boton submit directamente en el form funciona correctamente, pero me quedo sin los controles del lado cliente.
Alguien tendria una idea de cual es el problema ?? Desde ya les agradezco la colaboración.
Saludos Raúl
alfre04 | $path="archivos_php/";
| 13/5/10 |
Hola a todos espero me puedan ayudar e estado intentando poner la ruta a donde se van a ir los archivos y no me hace nada, al momento de subir un archivo me sale esto:
Ocurrió algún error al subir el fichero. No pudo guardarse.
este es mi php
<?php
echo $_POST['cadenatexto']." Nombres<br>";
if ($_POST['cadenatexto']!='')
{
$path="archivos_php/";
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
if (!((strpos($nombre_archivo, "doc") || strpos($nombre_archivo, "gif") || strpos($nombre_archivo,"jpg"))))
{
echo "La extensión o el tamaño de los archivos no es correcta";
}
else
{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $path.$_FILES['userfile']['name']))
{
echo "El archivo ha sido cargado correctamente.";
}
else
{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
}
?>
Ayuda por favor ya que me quede atorado
| asunto del comentario
| 11/7/10 |
esto es el contenido de mi comentario y no voy a aportar nada. solo pasaba a saludar.
un bico putas
pakuki | no entiendo una cosa
| 12/7/10 |
Hola perdon mi falta de cerebro pero no entiendo como hago para direccionarla el envio a una carpeta creada por mi por ejemplos "fotos"