J'ai essayé d'utiliser ce script très simple pour télécharger un fichier sur mon serveur. Pour une raison quelconque, cela ne fonctionne pas. Je reçois le message suivant dans mon erreur apache journal:Le téléchargement du fichier perl ne peut pas init filehandle
Use of uninitialized value in <HANDLE> at /opt/www/demo1/upload/image_upload_2.pl line 15.
readline() on unopened filehandle at /opt/www/demo1/upload/image_upload_2.pl line 15.
#!/usr/bin/perl -w
use CGI;
$upload_dir = "/opt/www/demo1/upload/data";
$query = new CGI;
$filename = $query->param("photo");
$filename =~ s/.*[\/\\](.*)/$1/;
$upload_filehandle = $query->upload("photo");
open UPLOADFILE, ">$upload_dir/$filename";
binmode UPLOADFILE;
while (<$upload_filehandle>)
{
print UPLOADFILE;
}
close UPLOADFILE;
1
Toutes les idées ce qui est mal là-bas? Merci mx
Le fichier existe-t-il réellement? Votre script dispose-t-il des autorisations appropriées pour y accéder? – mcandre
Quelles permissions sont nécessaires? Il a 777 - et si j'imprime quelque chose, cela fonctionne. Le fichier que je veux écrire est également 777 mais il se bloque bevore, il n'obtient pas le handle de l'objet CGI. Dans le formulaire qui appelle le script j'ai le champ de saisie suivant: Ceci est correct, n'est pas il? – marcusx
Quel est le 'enctype' pour la balise' form'? –