Ciao a tutti,
ho un problema con uno script multiupload, in pratica devo inserire il controllo di @file gi' esistente (per evitare sovrascrizioni di file)...
il form per l-upload è questo:
[HTML]
<form action="" method="post" enctype="multipart/form-data" onSubmit="showSpindle()" method="POST">
<input type="file" name="files[]" multiple="multiple">
<input type="submit" value="Upload">
</form>
[/HTML]
mentre lo script per l-upload è:
[PHP]
<?php
$valid_formats = array("jpg", "png", "gif", "zip", "bmp", "mp3" );
$max_file_size = 1024*10000; //10000 kb
$path = "nomecartella/"; // Upload directory
$count = 0;
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to execute all files
foreach ($_FILES['files']['name'] as $f => $name) {
if ($_FILES['files']['error'][$f] == 4) {
continue; // Skip file if any error found
}
if ($_FILES['files']['error'][$f] == 0) {
if ($_FILES['files']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue; // Skip large files
}
elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
$message[] = "$name is not a valid format";
continue; // Skip invalid file formats
}
else{ // No error found! Move uploaded files
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name)) {
$count++; // Number of successfully uploaded files
}
}
}
}
}
?>[/PHP]
ho provato ad inserire:
[PHP]
if (file_exists("nomecartella/" . $_FILES["files"]["name"])){
$message[] = "$name è già esistente, cambiare nome al file";
continue; // Skip invalid file formats[/PHP]
ma qualsiasi file tenti di caricare mi sovrascrive il file quindi non va.... perchèèèèèèè?
phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
Problema inserimento controllo su multiupload....
-
- Utente
- Messaggi: 12
- Iscritto il: 01/04/2014, 18:36
- Sesso: Maschio
- Server: Windows
Re: Problema inserimento controllo su multiupload....
prima di tutto metti un echo "errore"; exit; al posto di $message[] = "$name è già esistente, cambiare nome al file"; per verificare che effettivamente passa all'interno dell'if.
Devi inserirle il tuo if secondo fra
foreach ($_FILES['files']['name'] as $f => $name) {
e
if ($_FILES['files']['error'][$f] == 4) {
probabilmente.
Fai un echo di $_FILES["files"]["name"] e guarda cosa esce può darsi che non sia il nome del file vero e proprio....
Devi inserirle il tuo if secondo fra
foreach ($_FILES['files']['name'] as $f => $name) {
e
if ($_FILES['files']['error'][$f] == 4) {
probabilmente.
Fai un echo di $_FILES["files"]["name"] e guarda cosa esce può darsi che non sia il nome del file vero e proprio....
Chi c’è in linea
Visitano il forum: Baidu [Spider], Bing [Bot] e 39 ospiti