Bonjour !
Je sollicite votre aide pour mettre en place l'upload et le traitement de fichiers multiples en PHP, je suis débutant et je suis un peu perdu !
Après recherches j'ai décidé de mettre cela en place grâce à FancyUpload.
http://digitarald.de/project/fancyupload/
Pour l'instant, j'ai réussi à faire fonctionner l'upload multiple de fichiers vers un dossier du serveur.
Avec le fonctionnement actuel, une fois l'upload des fichiers correctement effectué le fichier php gérant l'upload des fichiers retourne des messages vers la page contenant le formulaire permettant l'upload.
Seulement moi une fois l'upload des fichiers terminé, je souhaiterai être redirigé vers un fichier php dans le quel je pourrais récupérer les références sur les fichiers que je viens d'uploader et effectuer diverses traitements sur ceux-ci et des affichages.
Les fichier sources :
http://www.partage-facile.com/0TZZ763KX ... d.zip.html
Merci d'avance pour vodre aide !
Voici le code :
<div class="container">
<div>
<form action="server/script.php" method="post" enctype="multipart/form-data" id="form-demo">
<fieldset id="demo-fallback">
<p>
Problème !
</p>
</fieldset>
<div id="demo-status" class="hide">
<p>
<a href="#" id="demo-browse">Browse Files</a> |
<a href="#" id="demo-clear">Clear List</a> |
<a href="#" id="demo-upload">Start Upload</a>
</p>
<div>
<strong class="overall-title"></strong><br />
<img src="../../assets/progress-bar/bar.gif" class="progress overall-progress" />
</div>
<div>
<strong class="current-title"></strong><br />
<img src="../../assets/progress-bar/bar.gif" class="progress current-progress" />
</div>
<div class="current-text"></div>
</div>
<ul id="demo-list"></ul>
</form> </div>
</div>
[javascript]
<script type="text/javascript" src="source/mootools.js"></script>
<script type="text/javascript" src="source/Swiff.Uploader.js"></script>
<script type="text/javascript" src="source/Fx.ProgressBar.js"></script>
<script type="text/javascript" src="source/FancyUpload2.js"></script>
<script type="text/javascript">
//<
alert('To enable the embedded uploader, install the latest Adobe Flash plugin.')
}
}
});
});
//]]>
</script>[/javascript]
<?php
$result = array();
$result['time'] = date('r');
$result['addr'] = substr_replace(gethostbyaddr($_SERVER['REMOTE_ADDR']), '******', 0, 6);
$result['agent'] = $_SERVER['HTTP_USER_AGENT'];
if (count($_GET)) {
$result['get'] = $_GET;
}
if (count($_POST)) {
$result['post'] = $_POST;
}
if (count($_FILES)) {
$result['files'] = $_FILES;
}
// we kill an old file to keep the size small
if (file_exists('script.log') && filesize('script.log') > 102400) {
unlink('script.log');
}
$log = @fopen('script.log', 'a');
if ($log) {
fputs($log, print_r($result, true) . "\n---\n");
fclose($log);
}
// Validation
$error = false;
if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
$error = 'Invalid Upload';
}
// Processing
move_uploaded_file($_FILES['Filedata']['tmp_name'], '../uploads/' . $_FILES['Filedata']['name']);
$return['src'] = '/uploads/' . $_FILES['Filedata']['name'];
if ($error) {
$return = array(
'status' => '0',
'error' => $error
);
} else {
$return = array(
'status' => '1',
'name' => $_FILES['Filedata']['name']
);
}
// Output
/**
* Again, a demo case. We can switch here, for different showcases
* between different formats. You can also return plain data, like an URL
* or whatever you want.
*/
if (isset($_REQUEST['response']) && $_REQUEST['response'] == 'xml') {
echo '<response>';
foreach ($return as $key => $value) {
echo "<$key><![CDATA[$value]]></$key>";
}
echo '</response>';
} else {
// header('Content-type: application/json');
echo json_encode($return);
}
?>