que es lo que falla en este escript??

chachyny
20 de Marzo del 2006
Hola, tengo un escript en php para que la peña pueda subir upload a mi web archivos pero cada vez que lo hago me da fallo tipo de este:
Warning: copy(uploaded/logo.GIF): failed to open stream: Permission denied in /home2/botellon/public_html/galeria/druploader.php on line 78

Este fué el intento de suvir un archivo .gif al directorio uploaded/ pero me da fallo.
Podeis provarlo vosotros mismos la web es:
http://www.botellon.mundoserver.org/galeria/druploader.php
Pass:123
De todos modos os dejo aqui el script.
CONFIG.PHP
<?

$password = '123';

$upload_folder = 'uploaded/';

?>

DRUPLOADER.PHP
<html>
<head>
<title>//dr uploader</title>
<style type="text/css">
<!--
.box {
position: absolute;
height: 200px;
width: 350px;
left: 30%;
top: 70px;
border-top: 1px none #000000;
border-right: 1px solid #000000;
border-bottom: 1px solid #000000;
border-left: 1px solid #000000;
padding: 5px;
background-color: #FFFFFF;
}
h3 {
background-image: url(bar.png);
height: 23px;
width: 100%;
position:absolute;
left: 0px;
top: -14px;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
padding-top: 3px;
text-align: center;
background-repeat: repeat-x;
}
body {
background-color: #5781CB;
}
.norm {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.field {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #666666;
}
.button {
background-color: #97C7F0;
border: 1px solid #666666;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.upload{
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.credits{
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
position:absolute;
left: 100px;
bottom: -70px;
}
-->
</style>
</head>
<body>
<div class="box" >
<h3>dr <i>uploader</i></h3><br><br>
<?
$status = $_GET['upload'];
if ($status=='1')
{
$form_password = $_POST['password'];
include("config.php");
if ($form_password == $password)
{
copy("$file","$upload_folder$file_name");
echo "<center><div class='norm'><b>Tu archivo fué subido con éxito.</b></div></center>";
}
else
{
echo "<center><div class='norm'><b>Password incorrecto, prueva de nuevo.</b></div></center>";
}
}
else
{
?>
<div class="norm">Bienvenido al servicio ftp online que te permite subir a la
web todo tipo de archivos fotos,videos,archivos...'.</div>
<br>
<form action="<? $self_file = $_SERVER['PHP_SELF']; echo "$self_file"; ?>?upload=1" method="post" enctype="multipart/form-data" name="form1">
<table width="300" border="0" align="center">
<tr>
<td class="field">Password</td>
<td><input name="password" type="password"></td>
</tr>
<tr>
<td class="field">Archivo a suvir</td>
<td><input name="file" type="file" class="upload"></td>
</tr>
<tr>
<td width="336">&nbsp;</td>
<td width="336"><input type="submit" name="Submit" value="Upload" class="button"></td>
</tr>
</table>

</form>
<?
}
?>
<div class="credits" >Powered by <a href = "http://daverave.no-ip.info" target="_blank" >dr uploader v 1.0.0</a></div>
</div>
</body>
</html>
--------------------------------------------------------
la verdad no se lo que falla, me podrian solucionar el problema por favor? Gracias

Farid Bielma Lopez
20 de Marzo del 2006
Hola chachyny,

El problema que tienes es que tu servidor no tiene permisos de escritura, ejecuta chmod para asignar permisos a tu carpeta uploaded, te recomiendo que uses la funcion move_file() en lugar de copy(), es por seguridad.

Pero esta bien, solo asigna los permisos correspondientes y listo, cualquier cosa ahi esta mi mail.

Farid Bielma Lopez
http://fbielma.org


Valeria
20 de Marzo del 2006
holaaa!!!..
aparte de cambiarle los permisos a la carpeta, tambien debes checar que onda con los parametros del copy, pues son dos: copy(path_origen,path_destino), ademas.. si lo que quieres es subir un fichero a tu servidor te recomiendo que utilices move_uploaded_file(archivo,ruta_del archivo), inclusive php te genera una variable para manejar el nombre del archivo en tu caso seria algo como $_FILES['file']['name'], esta seria la variable que manejarias en el move_uploaded_file...

Espero te sirva de algo!!.. =)