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.