Pagina 1 din 1

Probleme cu Upload

Scris: Mie Noi 03, 2010
de maximmus_k
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.

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;
}
?>
ca de exemplu
". 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 incercat toate setarile explicate pe acest forum..si nu mi-a iesit.Daca putetisa ma ajutati , v-as fi recunoscator.
(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. :(

Probleme cu Upload

Scris: Mie Noi 03, 2010
de MarPlo
Fisierul in care e scris cod PHP trebuie sa aibe extensia ".php" (de ex. "photo.php").
- Daca lucrati pe windows, nu e nevoie de setari CHMOD (nici nu are).

Probleme cu Upload

Scris: Mie Noi 03, 2010
de maximmus_k
nu merge...poate nu am explicat eu cum trebuie inainte sau nu am inteles.Deci o sa incerc sa fiu mai explicit. Pe una din paginile saitului(photo.html) doresc sa am optiunea de upload.am inserat scriptul de form in codul HTMl apare pe pagina respectiva. Acum, in directorul www am introdus urmatoarele: pagina respectiva (photo.html) si cele doua fisiere de upload descarcate de pe saitul dvs. (uploader.php , upload.js) . Daca fac fisierul photo.php, imi apare tot scriptul in pagina cand o deschid...deci dilema e mare.Sper sa nu stresez prea mult si sa rezolv problema.Multumesc anticipat

Probleme cu Upload

Scris: Joi Noi 04, 2010
de MarPlo
Ca PHP sa proceseze informatiile dintr-un fisier .php, acesta trebuie deschis prin adresa serverului, adica, in cazul de fata, in browser trebuie scrisa adresa https://marplo.net/uploader.php

Probleme cu Upload

Scris: Joi Noi 04, 2010
de maximmus_k
da...m-am grabit sa postez nelamurirea, intre timp am remediat problema si am modificat si intrebarea dar deja am vazut ca mi-ai raspuns...multumesc mult . O ultima intrebare si cu asta promit ca nu mai deranjez, este de fapt cea mai de sus, Se poate face transferul automat din folderul unde stocheaza pozele, pe pagina sau trebuie sa operez manual treaba asta. Daca da cum pot face asta?. Scuze pentru deranj.

Probleme cu Upload

Scris: Joi Noi 04, 2010
de MarPlo
Depinde ce vrei sa faci.
Daca vrei sa afiseze pozele incarcate in acel moment, se inlocuieste codul:

Cod: Selectaţi tot

// Retine numele fisierului incarcat
$rezultat[$f] = '<b>'.$_FILES['file_up']['name'][$f].'</b>';
CU:

Cod: Selectaţi tot

// Retine numele fisierului incarcat
$rezultat[$f] = '<img src="'.$thefile.'" />';
Daca vrei sa afiseze toate pozele din directorul unde sunt incarcate, trebuie alt script care sa scaneze acel director si sa faca pt. fiecare imagine tag html IMG.

Probleme cu Upload

Scris: Joi Noi 04, 2010
de maximmus_k
Multumesc pentru ajutor, functioneaza totul. Incerc sa fac cat mai putin deranj dar daca voi mai intampina probleme mai apelez . Cu stima, Cristian