Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem Upload
Forum PHP.pl > Forum > Gotowe rozwiązania
tomson
Witam
znalazłem prosty skrypt Uploadu
niestety działa mi tylko z małymi plikami
chciałbym aby móc uploadowac pliki ok 10MB

plik upload.php zawiera
Cytat
<?
copy($userfile, "$DOCUMENT_ROOT/$userfile_name")
?>


plik upload_form.html zawiera

Cytat
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Wysyłanie plików na serwer ze strony WWW</title>
</head>

<body bgcolor="#008000">
<center>
<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD=POST>&nbsp;<p>&nbsp;</p>
  <p><b><font size="4" face="Verdana">UPLOAD</font></b></p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><br>
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="500000"><br>
Plik do wysłania: <INPUT NAME="userfile" TYPE="file" size="20">
<INPUT TYPE="submit" VALUE="OK"><br>
  </p>
</FORM>

<br><p><a href="iportal.nano.pl">
<img src="ipower.gif" width="99" height="40" alt="IMPERATOR" border="0">
</a>
</center>

</body>
</html>


zmieniłem wartość Value na 500000 co powinno chyba umożliwić przesyłanie plików 500KB a ja nawet niemogę przesłać pliku 300KB
AxZx
a czemu nie mozesz?
jaki komunkat? co sie dzieje?
tomson
Niema żadnego komunikatu skrypt jest bardzo ubogi w informacje

Znalazłem drugi skrypt który wydaje się lepszy ale tutaj autor ustawił 256KB

Cytat
<?
// Autor skryptu: Aure Fos (aure@aurefos.net)
// Skrypt pobrany ze strony http://aurefos.net
// Poniższy kod wolno wykorzystywać na własny użytek oraz rozpowszechniać pod warunkiem zachowania informacji o autorze.
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title>Upload plików</title>
<style>
body, td { font-size: 10px; font-family: Verdana; }
a:link,a:visited,a:active { text-decoration: none; color: #006600; }
a:hover { text-decoration: underline; }
input { font-size: 10px; font-family: Verdana; border: 1px solid #000000; }
hr { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px; }
.small { font-size: 9px; }
.border { border: 1px solid #cccccc; }
.head { background-color: #f5f5f5; }
</style>
</head>
<body>
<?
//Konfiguracja
$maxFileSize = 262144; //maksymalna wielko&para;ć pliku w bajtach
$uploadFolder = 'upload'; //folder, do którego będ&plusmn; kopiowane pliki
$acceptMIME = array('image/gif', 'image/jpeg', 'image/pjpeg'); //akceptowane typy plików (MIME Types)

if($_GET['a'] == 'upload')
{
$picture = $_FILES['upload_picture'];
if(empty($picture['error']))
  {
  $check = 0;
  foreach($acceptMIME as $key => $value)
  {
  if($picture['type'] == $value)
    {
    $check = 1;
    break;
    }
  }
  if($check)
  {
  $send_picture = @move_uploaded_file($picture['tmp_name'], $uploadFolder.'/'.$picture['name']);
  if(!$send_picture) $errorMsg = 'Bład podczas kopiowania pliku do wyznaczonego folderu!';
  else $errorMsg = 'Kopiowanie pliku zakończone sukcesem!';
  }
  else $errorMsg = 'Nieprawidłowy typ pliku!';
  }
else
  {
  switch($picture['error'])
  {
  case 1 :
    $errorMsg = 'Wielko&para;ć pliku przekracza maksymalny dopuszczalny rozmiar ustawiony w konfiguracji php (php.ini)!';
    break;
  case 2 :
    $errorMsg = 'Wielko&para;ć pliku przekracza maksymalny dopuszczalny rozmiar ustawiony w skrypcie!';
    break;
  case 3 :
    $errorMsg = 'Plik nie został wysłany w cało&para;ci!';
    break;
  case 4 :
    $errorMsg = 'Żaden plik nie został wysłany';
    break;           
  }
  }
}
?>

<b>Upload pliku</b><br /><br />
<form enctype="multipart/form-data"  name="posting" action="upload.php?a=upload" method="post">
<input type="file" size="30" name="upload_picture"><input type="hidden" name="MAX_FILE_SIZE" value="<? echo $maxFileSize ?>"><br /><br />
<input type="submit" value="Wy&para;lij plik" name="picture_send" class="but">
</form>
UWAGA! Skrypt domy&para;lnie akceptuje tylko pliki GIF i JPG. Aby umozliwić upload inych plików należy dodać odpowiednie typy MIME w konfiguracji skryptu.<br />
<? if(!empty($errorMsg)) echo '<br />'.$errorMsg.'<br />'; ?>
<br /><hr /><br />
<?
$dir = opendir('./'.$uploadFolder);
while($file = readdir($dir)) if($file != '.' && $file != '..') $read_file[] = $file;
closedir($dir);
@sort($read_file);

echo '<br /><b><u>Pliki:</u></b><br />';
for($i=0; $i<sizeof($read_file); $i++)
{
  echo '&raquo; <a href="'.$uploadFolder.'/'.$read_file[$i].'">'.$read_file[$i].'</a><br />';
}
?>
</body>
</html>


według tego co podaje autor te 256KB to $maxFileSize=262144
Czy wystarczy zmienić to na 962144 aby było 956KB questionmark.gif
crash
Aby móc wgrywać takie pliki konieczne jest ustawienie:
1. MAX_FILE_SIZE (w przypadki tego pliku chodzi o zmienną $maxFileSize)
2. upload_max_filesize w php.ini
3. max_execution_time w php.ini
Więcej informacji w manualu i w wyszukiwarce...
aleksander
1. prosze używac znacznika [php ]

2. http://www.php.pl/artykuly/dla_poczatkujacych/upload_plikow
tomson
Na wstępie przepraszam za [php]

Nierozumiem o co chodzi z tym php.ini
niemam takiego pliku
Proszę powoli i dużymi literami to są moje pierwsze kroki z php
crash
Skoro tak to daruj sobie narazie php i weź się za naukę korzystania z wyszukiwarki na forum. Wszystko tam znajdziesz...
tomson
szukałem ale nieznalazłem odpowiedzi na mój problem
sobstel
@crash, mysle, że raczej nie za forum ale za manuala. o php.ini to w manualu najlepiej poszukac
tiraeth
1KB = 1024 Bajtów
956KB = x

x = 956 * 1024
x = 978944

w MAX_FILE_SIZE i sprawdzaniu wielkości pliku przez filesize zwracana/przekazywana wielkość musi być wyrażona w bajtach

do ustawienia zmiennych w pliku php.ini użyj
  1. <?php
  2. ini_set( 'max_execution_time', 360 ); # 360 sekund = 6 minut
  3. ini_set( 'upload_max_filesize', 978944 );
  4.  
  5. # Zamiast liczby mozesz ustawic
  6. # $maxFileSize ale przed tym kodem
  7. # musisz ja zadeklarowac
  8. ?>

przed skryptem uploadu
tomson
Rozumiem że plik php.ini jest istotny w przypadku gdy serwer jest moją własnością
Niestety ja mam miejsce na serwerze http://www.tripod.lycos.co.uk/ i tam są już chyba wprowadzone ogranicznia i dodawanie pliku php.ini nic niedaje
cały mój plan legł w gruzach
pozostaje mi postawienie własnego serwera i poprzez stronę noip.com udostępnienia go innym
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.