Probleme cu Upload
Scris: Mie Noi 03, 2010
Va salut. Am un site si doresc sa folosesc scriptul de upload ca vizitatorii sa incarce materiale(poze) pe aceasta pagina. Am citit toate materialele si explicatiile de pe acest sit dar nu mi-a iesit. Sunt incepator in PHP si nu cunosc limbajul si modul de lucru. Am descarcat de pe saitul d-voastra scripturile de upload , deasemenea serverul Wamserver am urmat instructiuniile dar nu am reusit .Trebuie sa mentionez ca saitul meu este in lucru, deci nu este postat pe hosting dar doresc sa fac un test.Daca aveti rabdare cu mine si imi explicati cum pot face asta adica ce trebuie modificat in structura PHP.Am introdus codul si scriptul in pagina HTML , le-am pus pe server in dir www , dar imi apare o erore.
ca de exemplu
(am pus in dir serverului(www): photo.html si folderul folderul Imagini care contine imaginile si CSS pt pagina HTML).
Nu am reusit sa setez CHMOD la dir Upload.
Cod: Selectaţi tot
<?php
/*** Script de la: https://marplo.net/php-mysql/ ***/
$updir = 'upload'; // Directorul pt. upload
$max_size = 500; // Marimea maxima, in KiloBytes, care este permisa
// Seteaza matricea cu tipurile de fisiere permise
$allowtype = array('bmp', 'flv', 'gif', 'jpg', 'jpeg', 'mp3', 'pdf', 'png', 'rar', 'zip');
// Creaza directorul din $updir (cu CHMOD 077), daca nu exista
if (!is_dir($updir)) mkdir($updir, 0777);
/** Incarcarea imaginii pe server **/
$rezultat = array();
// Daca este primit din formular un fisier valid
if (isset ($_FILES['file_up'])) {
// Seteaza pt. upload fisierele primite (pot fi primite din mai multe campuri 'file_up')
for($f=0; $f<count($_FILES['file_up']['name']); $f++) {
// Verifica daca fisierul are tipul de extensie permis
$type = end(explode(".", strtolower($_FILES['file_up']['name'][$f])));
if (in_array($type, $allowtype)) {
// Verifica daca fisierul are marimea permisa
if ($_FILES['file_up']['size'][$f]<=$max_size*1000) {
// Daca nu sunt erori in procesul de copiere
if ($_FILES['file_up']['error'][$f]==0) {
// Seteaza locatia si numele pt. incarcare pe server
$thefile = $updir . "/" . $_FILES['file_up']['name'][$f];
// Daca fisierul nu poate fi incarcat, returneaza mesaj
if (!move_uploaded_file ($_FILES['file_up']['tmp_name'][$f], $thefile)) {
$rezultat[$f] = ' Fisierul nu a putut fi copiat, incercati din nou';
}
else {
// Retine numele fisierului incarcat
$rezultat[$f] = '<b>'.$_FILES['file_up']['name'][$f].'</b>';
}
}
}
else { $rezultat[$f] = 'Fisierul <b>'. $_FILES['file_up']['name'][$f]. '</b> depaseste marimea permisa de maxim <i>'. $max_size. 'KB</i>'; }
}
else { $rezultat[$f] = 'Fisierul <b>'. $_FILES['file_up']['name'][$f]. '</b> nu are tipul de extensie permis'; }
}
// Returneaza rezultatul
$rezultat2 = implode('<br /> ', $rezultat);
echo '<h4>Fisiere incarcate:</h4>'.$rezultat2;
}
?>
Am incercat toate setarile explicate pe acest forum..si nu mi-a iesit.Daca putetisa ma ajutati , v-as fi recunoscator.". basename( $_FILES['fisiere']['imagini']). " a fost incarcat cu succes:"; echo "
Tipul fisieului: ". $_FILES['fisiere']['type'] .""; echo "
Marime (in Bytes): ". $_FILES['fisiere']['size'] ."
"; echo 'Link catre fisierul incarcat: http ://'". $_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI']).'/'.$uploadpath.''; } else { echo "A aparut o eroare la urcarea fisierului pe server,
posibil ca marimea fisierului sa depaseasca permisiunile setate de server."; } } else { echo 'Fisierul '. $_FILES['fisiere']['name']. ' depaseste marimea permisa de maxim '. $max_size. 'KB'; } } else { echo 'Fisierul '. $_FILES['fisiere']['name']. ' nu are tipul de extensie permis'; } } } ?>
(am pus in dir serverului(www): photo.html si folderul folderul Imagini care contine imaginile si CSS pt pagina HTML).
Nu am reusit sa setez CHMOD la dir Upload.