J'essaie d'utiliser mes propres répertoires afin de télécharger des fichiers en eux, mais une erreur se produit lorsque je charge ma page « upload_test.php »répertoires utilisateur upload de fichiers jQuery
userPath is not defined
J'ai essayé beaucoup de solutions pendant 2 jours, mais aucune n'a fonctionné :(
Voici mon code pour cette page
<form id="fileupload" action="UploadHandler.php?userPath=<?php echo $MYDIR;?>" method="POST" enctype="multipart/form-data">
Voici mon code dans main.js
$('#fileupload').fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: 'file_upload/server/php/index.php?userPath='+userPath,
});
et index.php
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
class CustomUploadHandler extends UploadHandler {
protected function get_user_id() {
return $_REQUEST['userPath'];
}
protected function set_additional_file_properties($file) {
$file->deleteUrl = $this->options['script_url']
.$this->get_query_separator($this->options['script_url'])
.$this->get_singular_param_name()
.'='.rawurlencode($file->name)
.'&userPath='.$_REQUEST['userPath']
;
$file->deleteType = $this->options['delete_type'];
if ($file->deleteType !== 'DELETE') {
$file->deleteUrl .= '&_method=DELETE';
}
if ($this->options['access_control_allow_credentials']) {
$file->deleteWithCredentials = true;
}
}
}
$upload_handler = new CustomUploadHandler(array(
'user_dirs' => true,
));
Merci pour votre réponse. En effet, ça marche mieux! Toutefois, les fichiers téléchargés ne sont pas enregistrés dans mon dossier personnalisé et seuls les fichiers directement sous le dossier de fichiers sont visibles. Je pense que UploadHandler ignore mon dossier personnalisé. –
Pouvez-vous s'il vous plaît vérifier les points suivants: - Le dossier at-il les autorisations de fichier appropriées? - Le dossier existe-t-il où vous voulez placer les fichiers? - Avez-vous le droit de créer de nouveaux dossiers? – SaWo
Tout est bon de ce côté. Mon dossier est créé et les autorisations sont correctes. J'ai essayé de changer cela dans main.js pour tester: url: 'file_upload/server/php/index.php? UserPath = MYDIR' et cela fonctionne. Mais je voudrais utiliser un paramètre (bien sûr!) –