Illegal use of $_FILES

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Répondre
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Illegal use of $_FILES

Message par LeKiffeur »

Salut à tous,

Voilà depuis hier et le passage en 3.1.5 j'ai du modifier pas mal de code et là je ne trouve pas la solution en cherchant...

J'avais des $_POST sur d'autres pages que j'ai passé en request_var() mais sur ces $_FILES je ne trouve pas comment faire...

Voici le message d'erreur :

Code : Tout sélectionner

Illegal use of $_FILES. You must use the request class or request_var() to access input data. Found in up.php on line 17. This error message was generated by deactivated_super_global. 
Et voici mon code :

Code : Tout sélectionner

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './PHPBB3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$id = uniqid();
$user_id = $user->data['user_id'];

    $errorMessage[0] = "L'upload a rencontré un problème.";
    $errorMessage[1] = "Taille de l'upload dépassée.";
    $errorMessage[2] = "Taille de l'upload dépassée.";
    $errorMessage[3] = "Le fichier n'a été que partiellement transmis.";
    $errorMessage[4] = "Fichier manquant.";
    $errorMessage[5] = "Extension invalide.";
    
    $numFiles = count($_FILES['uploadFile']['name']);
    
    $folder  = $root . 'folder/';
    $validExtensions = array('jpg', 'jpeg');
    
    for($i=0; $i < $numFiles; $i++) {
    
        $tempFile = $_FILES['uploadFile']['tmp_name'][$i];
        $fileName = basename($_FILES['uploadFile']['name'][$i]);
        $extension = strtolower(substr(strrchr($fileName,'.'),1));
        $error = $_FILES['uploadFile']['error'][$i];
        $path = $folder.$user_id."_".$id.".".$extension;
        
        if (!in_array($extension , $validExtensions) && $validExtensions[0] != '*') {
            $callbackMessage = $fileName . ' : ' . $errorMessage[5];
        } else {
            if (is_uploaded_file($tempFile)) {
                if (move_uploaded_file($tempFile, $path)) {
                    $callbackMessage = 'OK';
                } else {
                    $callbackMessage = $fileName . ' : ' . $errorMessage[$error];
                }
            } else if(is_part_file($fileName)) {
                save_part_file($tempFile, $path);
                $callbackMessage = 'OK';
            } else {
                $callbackMessage = $fileName . ' : ' . $errorMessage[$error];
            }
        }
    }
?>
Merci d'avance pour votre aide

EDIT : modification de la balise code en code=php
Modifié en dernier par LeKiffeur le 28 juil. 2015 à 18:11, modifié 1 fois.
Zoddo
Equipe site
Equipe site
Messages : 7074
Enregistré le : 16 mars 2011 à 17:44
Localisation : Laval, France
Contact :

Re: Illegal use of $_FILES

Message par Zoddo »

Bonjour,

request_var() est déprécié et sera supprimer dans les prochaines versions de phpBB. Il faut maintenant utiliser les méthodes de $request
  • request_var() devient $request->variable()
  • isset($_REQUEST['var']) devient $request->is_set('var')
De la même manière, $_FILES['filename'] devient $request->file('filename').

Plus d'infos : PS : Normalement, il ne faut plus modifier le code de phpBB mais utiliser le système d'extension :)
[Doc] Installer une extension - [Extension] Post Models - [Recrutement] Équipe des Extensions
Si vous considérez votre requête comme résolue, merci d'ajouter l'attribut de sujet [Réglé]
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

Merci pour ces infos, bon il me reste donc à modifier ce que j'avais fais.

Pour le PS, en fait ce sont des pages à part du forum donc indépendantes mais sur lesquelles je viens d'intégrer les sessions de phpBB afin de ne pas avoir besoin de s'identifier.

Je donne réponse dès que j'ai corrigé si ça peut être utile à l'avenir.
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

Première chose, j'ai donc remplacer le $act = request_var('act', ''); qui me permettais de récupérer une valeur à la place d'un $_GET qui était obsolète et vu que le request_var() va le devenir j'ai donc mis $act = $request->variable('act', ''); qui fait le même travail, ça c'est déjà une chose de faite.
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

Par contre je ne trouve pas comment faire pour ces variables car j'ai besoin des valeurs Array...
$numFiles = count($_FILES['uploadFile']['name']);
$tempFile = $_FILES['uploadFile']['tmp_name'][$i];
$fileName = basename($_FILES['uploadFile']['name'][$i]);
$error = $_FILES['uploadFile']['error'][$i];

Merci encore
Zoddo
Equipe site
Equipe site
Messages : 7074
Enregistré le : 16 mars 2011 à 17:44
Localisation : Laval, France
Contact :

Re: Illegal use of $_FILES

Message par Zoddo »

J'ai pas tester, mais ça devrait marcher normalement :

Code : Tout sélectionner

$upload_file = $request->file('uploadFile');

$numFiles = count($upload_file['name']);
$tempFile = $upload_file['tmp_name'][$i];
$fileName = basename($upload_file['name'][$i]);
$error = $upload_file['error'][$i];
[Doc] Installer une extension - [Extension] Post Models - [Recrutement] Équipe des Extensions
Si vous considérez votre requête comme résolue, merci d'ajouter l'attribut de sujet [Réglé]
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

Merci de ton aide mais cela ne fonctionne pas dans mon cas, j'ai un doute maintenant sur cette partie de code que je mets à jour car c'est juste une page appelée et il y en a d'autres... Je vais tenter de modifier les autres mais après ça devient compliqué pour moi :cry:
FoFa
Resp. des supporters
Resp. des supporters
Messages : 10515
Enregistré le : 15 nov. 2008 à 18:04
Localisation : Auxonne
Contact :

Re: Illegal use of $_FILES

Message par FoFa »

LeKiffeur a écrit :28/07/15 - 13:39:11
28/07/15 - 13:44:28
28/07/15 - 17:40:37
Euh... Merci de ne faire des UPs que toutes les 24 heures minimum !

Ici un UP est le fait de poster deux (ou davantage) messages consécutifs SANS l'intervention d'une TIERCE personne.

Il t'aurait fallu faire un bon usage de la fonction MODIFIER qui te permet d'ajouter les informations complémentaires. Et ne t'inquiètes pas les Équipiers passent souvent sur les sujets auxquels ils participent donc tes ajouts d'informations seront bien vues.

Un excès de UP peut entraîner le verrouillage de tes sujets.
De retour parmi vous :wink:
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

Ok FoFa j'y prêterais attention la prochaine fois.

Sinon je n'arrive pas à arranger ce script, je vais donc partir à la recherche d'un nouveau script à jour que j'arrangerais à ma sauce, si quelqu'un en connaît un, je cherche juste un système d'upload avec une barre de progression que j'intégrerais dans une page d'un site internet mais j'aimerais cette fois profiter du système de session de phpBB.

Merci
Skouat
Resp. Traducteurs
Resp. Traducteurs
Messages : 15959
Enregistré le : 02 avr. 2008 à 20:47
Contact :

Re: Illegal use of $_FILES

Message par Skouat »

Bonjour,

Pourquoi ne pas regarder du côté du système d'upload de phpBB ?
qui lui même s'appui sur Plupload
LeKiffeur
Posteur néophyte
Posteur néophyte
Messages : 67
Enregistré le : 19 juil. 2007 à 21:24

Re: Illegal use of $_FILES

Message par LeKiffeur »

J'ai jeté un œil dans les fichiers fonction et j'ai pris peur... Trop complexe pour moi :(

Je regarderais demain sur le lien que tu as laissé
Zoddo
Equipe site
Equipe site
Messages : 7074
Enregistré le : 16 mars 2011 à 17:44
Localisation : Laval, France
Contact :

Re: Illegal use of $_FILES

Message par Zoddo »

@Skouat : Attention, Plupload gère le coter navigateur (dons JS), pas la partie PHP :)
[Doc] Installer une extension - [Extension] Post Models - [Recrutement] Équipe des Extensions
Si vous considérez votre requête comme résolue, merci d'ajouter l'attribut de sujet [Réglé]
Avatar du membre
sub60
Floodeur universel
Floodeur universel
Messages : 9461
Enregistré le : 19 juin 2006 à 15:14
Localisation : oise

Re: Illegal use of $_FILES

Message par sub60 »

Salut,

Ce sujet s'apparente plus a du coding perso, qu'au développement d'une extension, je déplace donc :wink:

Votre sujet a été déplacé par un membre de l'équipe.
Origine: ‹ Extensions phpBB 3.1.x ‹ Développement ‹ Aide au développement

Cordialement
en retraite sur le woueb :mrgreen:
Répondre

Retourner vers « Coding, Webmastering et Sécurité informatique »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité