Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2008, 09:46
Avatar de alucardh
alucardh
 
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Problema al subir archivos al servidor.

Buenas tardes.

Antes de nada decir que soy nuevo en el foro, y que gracias a este foro, he aprendido lo poco que sé de php.
Pero aquí viene mi primer tropiezo con dicha programación.

El problema es el siguiente:

He hecho un script para subir archivos al servidor, el cual funciona correctamente pero solo con determinados archivos, por ejemplo los .txt y los .zip, los sube bien, pero los .rar y los .pdf no. Pego el código a continuación. (El código está en catalàn, però solo hace falta seguir el nombre de las variables).

El formulario: form_files.php

Código:
<fieldset>
<legend>Pujar fitxers.</legend>
<form action="upload_files.php" method="post" enctype="multipart/form-data">
<p><label for="arxiu">Arxiu: </label><input name="arxiu" id="arxiu" type="file" /></p>
<p><label for="cat">Categoria: </label><select name="cat" id="cat"><option>Apunts</option><option>Manuals</option><option>Tutorials</option></select></p>
<p><input type="submit" name="pujar" id="pujar" value="Pujar" /></p> 
</form>
</fieldset>
El Script: form_upload.php
Código:
<?php
$name=$_FILES['arxiu']['name']; 
$type=$_FILES['arxiu']['type']; 
$size= $_FILES['arxiu']['size'];
$cat=$_POST['cat'];
echo "<p><strong>Nom :</strong> $name</p>"; 
echo "<p><strong>Format :</strong> $type</p>"; 
echo "<p><strong>Tamany :</strong> $size bytes</p>";
echo "<p><strong>Categoria :</strong> $cat</ps>";
if ($cat == Apunts)
{
$uploaddir = '/var/www/ragnarok/recursos/apunts/'; 
$uploadfile = $uploaddir . basename($_FILES['arxiu']['name']); 
if (move_uploaded_file($_FILES['arxiu']['tmp_name'],$uploadfile)) 
{ 
echo "<p>L'arxiu $name s'ha pujat correctament al directori : $uploaddir</p>"; 
} 
else 
{ 
echo "<p>No s'ha pujat l'arxiu $name correctament.</p>"; 
}
}
elseif ($cat == Manuals)
{
$uploaddir = '/var/www/ragnarok/recursos/manuals/'; 
$uploadfile = $uploaddir . basename($_FILES['arxiu']['name']); 
if (move_uploaded_file($_FILES['arxiu']['tmp_name'],$uploadfile)) 
{ 
echo "<p>L'arxiu $name s'ha pujat correctament al directori : $uploaddir</p>"; 
} 
else 
{ 
echo "<p>No s'ha pujat l'arxiu $name correctament.</p>"; 
}
}
else
{
$uploaddir = '/var/www/ragnarok/recursos/tutorials/'; 
$uploadfile = $uploaddir . basename($_FILES['arxiu']['name']); 
if (move_uploaded_file($_FILES['arxiu']['tmp_name'],$uploadfile)) 
{ 
echo "<p>L'arxiu $name s'ha pujat correctament al directori : $uploaddir</p>"; 
} 
else 
{ 
echo "<p>No s'ha pujat l'arxiu $name correctament.</p>"; 
}
}
?>
Bien, si alguno tiene idea de porqué puedo subir un tipo de archivos y otros no, lo agradecería sumamente.

El directorio dónde se sube los archivos tiene permisos para hacer cualquier cosa.

Gracias por adelantado.

Un saludo.