inoltre nell'html puoi specificare una dimensione massima: maxsize.
Tuttavia qualche dispettoso potrebbe mandarti un file enorme mettendo l'html modificato altrove.
Per questo php ha un limite massimo. Io ricordo 5mb (che potrebbe creare problemi con le dimensioni delle attuali foto). A seconda del fornitore di hosting devi agire su php.ini o con i php ini set (non ricordo la sintassi esatta) per aggirare i limiti di default di php.
In ogni caso prima di usare il file controlla tipo e dimensioni. Il tipo, ahime', non e' uno standard. Ma controlla le dimensioni sempre e comunque per evitare che ti riempiano il server.
Attenzione: in php devi modificare sia la dimensione del file massima in upload che la dimensione massima di dati che possono essere passati via in $POST.
post_max_size = 3M
upload_max_filesize = 64M
E probabilmente anche il timeout:
max_execution_time = 120
max_input_time = 60
Il funzionamento di php e' semplice: il file viene caricato in una temp folder, da li' lo muovi deve serve. Tutti i dati del file uploadato sono nella $_FILES["nome scelto nell'html"]:
move_uploaded_file($_FILES["upload"]["tmp_name"], $target_file
Esistono poi trucchi per avviare l'upload subito dopo aver scelto il file, senza bisogno di cliccare submit (tipo: onchange="submit()" (pseudocode controlla sul web).
Invece a me servirebbe di piu' come lo mandi dalla app. httputils2 immagino. Riesci a condividere almeno la parte centrale del codice ?
Ecco quello che uso quasi sempre:
<script>
function loadfile() {
document.getElementById("submit").style.background = "#33ff33";
document.getElementById("photo").style.visibility = "hidden";
document.getElementById("loading").style.visibility = "yes";
}
</script>
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type=hidden value=sara name=pwd>
<input type="hidden" name="MAX_FILE_SIZE" value="80000000" />
<input name="photo" accept="image/*;capture=camera" size=30 type="file" onchange="loadfile();this.form.submit();">
<input type="submit" value="Upload File" class=cmdflat style="display:none;" />
<img src=img/loading.gif id=loading width=20 height=20 style="visibility:hidden;vertical-align:middle;" ></form>