ciao, in una pagina ho il seguente form:
codice:
<form name="upload">
<span class="content">Allega un file:</span> <INPUT TYPE="file" NAME="fileU">
<INPUT TYPE="button" value="Upload" onClick="upload(fileU)">
</form>
cliccando sul pulsante Upload, viene richiamata questa funzione:
codice:
function upload(e) {
var path = e.value; // prelevo il path del file
var f = window.open();
var request;
request = new XMLHttpRequest();
request.open("POST", "/upload.php", true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.onreadystatechange = function() {
if(request.readyState == 4) {
var response = request.responseText;
f.document.write(response);
}
}
request.send("submit=&fileU="+path);
}
che ho costruito in modo che venga passato allo script upload.php, il path del file.
Il problema è che non carica il file...lo script php restituisce sempre la scritta "Nessun file è stato trasferito! Selezionare un file!".....cioè sembra che il path del file non venga passato correttamente.
Vi posto parte dello script php, così potete capire meglio:
Codice PHP:
<?php
$maxdim = 31400000;
if(isset($_POST['submit']))
{
if($_FILES['fileU']['tmp_name']=="" || $_FILES['fileU']['tmp_name']==" ") {
$msg = '<span style="color:red">Nessun file è stato trasferito! Selezionare un file!</span>';
} else {
if(!is_uploaded_file($_FILES['fileU']['tmp_name'])) {
$msg = '<span style="color:red">Seleziona un file esistente!</span>';
unlink($_FILES['fileU']['tmp_name']); // Cancello
} else {
......
Come faccio a passare tramite Ajax un file allo script php?