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

Problema inserimento controllo su multiupload....

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
pollat
Utente
Utente
Messaggi: 20
Iscritto il: 09/04/2014, 20:43

Problema inserimento controllo su multiupload....

Messaggio da pollat » 16/04/2014, 11:11

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èèèèèèè?

MattiaPiccinini
Utente
Utente
Messaggi: 12
Iscritto il: 01/04/2014, 18:36
Sesso: Maschio
Server: Windows

Re: Problema inserimento controllo su multiupload....

Messaggio da MattiaPiccinini » 28/04/2014, 22:42

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....

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Baidu [Spider], Bing [Bot] e 39 ospiti