Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Upload På Hjemmeside

Upload På Hjemmeside


 

Upload På Hjemmeside

Toke  


Hej jeg har et problem på min side... jeg kan ikke uploade filer større end 2 mb. gennem
et PHP upload script på min side. jeg ville gerne vide hvad dette skyldes, jeg har snakket
med min hostmaster og han siger at Php standarten er sat til 2 mb, men kan det passe at
det går ud over upload til min hjemmeside? ( scriptet er configureret til at uploade op
til 60 mb )



Dato : 06.09.2005, 18:09

Visninger : 2727

Points : 0

 

timer den ikke bare ud?

Dato : 06.09.2005, 18:58

Svar af : Thor B.N.  

 

hvis jeg oploader en fil der er på 5 mb, stopper den filen på 1.9 mb. ingen time out.

her er det script jeg bruger hvis du kan se noget ud af det, så er det fint med mig jeg
har trimmet det i flere timer uden held!

<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE 60000000;
                            
//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('video/wmv','image/jpg','image/gif'
                   
,'image/png','application/msword');

//Allowable file ext. names. you may add more extension names.            
$FILE_EXTS  = array('.zip','.doc','.txt','.rar','.wmv','.wme'); 

//Allow file delete? no, if only allow upload only
$DELETABLE  true;                               


//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/************************************************************
 *     Setup variables
 ************************************************************/
$site_name $_SERVER['HTTP_HOST'];
$url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir "files/";
$upload_url $url_dir."/files/";
$message ="";

/************************************************************
 *     Create Upload Directory
 ************************************************************/
if (!is_dir("files")) {
  if (!
mkdir($upload_dir))
      die (
"upload_files directory doesn't exist and creation failed");
  if (!
chmod($upload_dir,0755))
      die (
"change permission to 755 failed.");
}

/************************************************************
 *     Process User's Request
 ************************************************************/
if ($_REQUEST[del] && $DELETABLE)  {
  
$resource fopen("log.txt","a");
  
fwrite($resource,date("Ymd h:i:s")."DELETE -
$_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
  
fclose($resource);
  
  if (
strpos($_REQUEST[del],"/.")>0);                  //possible hacking
  
else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
  
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
    
unlink($_REQUEST[del]);
    print 
"<script>window.location.href='$url_this?message=deleted
successfully'</script>"
;
  }
}
else if (
$_FILES['userfile']) {
  
$resource fopen("log.txt","a");
  
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
            
.$_FILES['userfile']['name']." "
            
.$_FILES['userfile']['type']."\n");
  
fclose($resource);

    
$file_type $_FILES['userfile']['type']; 
  
$file_name $_FILES['userfile']['name'];
  
$file_ext strtolower(substr($file_name,strrpos($file_name,".")));

  
//File Size Check
  
if ( $_FILES['userfile']['size'] > $MAX_SIZE
     
$message "Filen er over 60 MB.";
  
//File Type/Extension Check
  
else if (!in_array($file_type$FILE_MIMES
          && !
in_array($file_ext$FILE_EXTS) )
     
$message "$file_name($file_type) forkert fil format.";
  else
     
$message do_upload($upload_dir$upload_url);
  
  print 
"<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!
$_FILES['userfile']);
else 
    
$message "Invalid File Specified.";

/************************************************************
 *     List Files
 ************************************************************/
$handle=opendir($upload_dir);
$filelist "";
while (
$file readdir($handle)) {
   if(!
is_dir($file) && !is_link($file)) {
      
$filelist .= "<a href='$upload_dir$file'>".$file."</a>";
      if (
$DELETABLE)
        
$filelist .= " <a href='?del=$upload_dir$file' title='delete'></a>";
      
$filelist .= "<sub><small><small><font color=grey>  ".date("d-m H:i",
filemtime($upload_dir.$file))
                   .
"</font></small></small></sub>";
      
$filelist .="<br>";
   }
}

function 
do_upload($upload_dir$upload_url) {

    
$temp_name $_FILES['userfile']['tmp_name'];
    
$file_name $_FILES['userfile']['name']; 
  
$file_name str_replace("\\","",$file_name);
  
$file_name str_replace("'","",$file_name);
    
$file_path $upload_dir.$file_name;

    
//File Name Check
  
if ( $file_name =="") { 
      
$message "Invalid File Name Specified";
      return 
$message;
  }

  
$result  =  move_uploaded_file($temp_name$file_path);
  if (!
chmod($file_path,0777))
       
$message "Filen kan ikke uploades";
  else
    
$message = ($result)?"$file_name er uploaded" :
               
"fejl under upload";
  return 
$message;
}

?>


Dato : 06.09.2005, 19:02

Kommentar af : Toke  

 

hvis jeg oploader en fil der er på 5 mb, stopper den filen på 1.9 mb. ingen time out.

her er det script jeg bruger hvis du kan se noget ud af det, så er det fint med mig jeg
har trimmet det i flere timer uden held!

<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE 60000000;
                            
//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('video/wmv','image/jpg','image/gif'
                   
,'image/png','application/msword');

//Allowable file ext. names. you may add more extension names.            
$FILE_EXTS  = array('.zip','.doc','.txt','.rar','.wmv','.wme'); 

//Allow file delete? no, if only allow upload only
$DELETABLE  true;                               


//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/************************************************************
 *     Setup variables
 ************************************************************/
$site_name $_SERVER['HTTP_HOST'];
$url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir "files/";
$upload_url $url_dir."/files/";
$message ="";

/************************************************************
 *     Create Upload Directory
 ************************************************************/
if (!is_dir("files")) {
  if (!
mkdir($upload_dir))
      die (
"upload_files directory doesn't exist and creation failed");
  if (!
chmod($upload_dir,0755))
      die (
"change permission to 755 failed.");
}

/************************************************************
 *     Process User's Request
 ************************************************************/
if ($_REQUEST[del] && $DELETABLE)  {
  
$resource fopen("log.txt","a");
  
fwrite($resource,date("Ymd h:i:s")."DELETE -
$_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
  
fclose($resource);
  
  if (
strpos($_REQUEST[del],"/.")>0);                  //possible hacking
  
else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
  
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
    
unlink($_REQUEST[del]);
    print 
"<script>window.location.href='$url_this?message=deleted
successfully'</script>"
;
  }
}
else if (
$_FILES['userfile']) {
  
$resource fopen("log.txt","a");
  
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
            
.$_FILES['userfile']['name']." "
            
.$_FILES['userfile']['type']."\n");
  
fclose($resource);

    
$file_type $_FILES['userfile']['type']; 
  
$file_name $_FILES['userfile']['name'];
  
$file_ext strtolower(substr($file_name,strrpos($file_name,".")));

  
//File Size Check
  
if ( $_FILES['userfile']['size'] > $MAX_SIZE
     
$message "Filen er over 60 MB.";
  
//File Type/Extension Check
  
else if (!in_array($file_type$FILE_MIMES
          && !
in_array($file_ext$FILE_EXTS) )
     
$message "$file_name($file_type) forkert fil format.";
  else
     
$message do_upload($upload_dir$upload_url);
  
  print 
"<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!
$_FILES['userfile']);
else 
    
$message "Invalid File Specified.";

/************************************************************
 *     List Files
 ************************************************************/
$handle=opendir($upload_dir);
$filelist "";
while (
$file readdir($handle)) {
   if(!
is_dir($file) && !is_link($file)) {
      
$filelist .= "<a href='$upload_dir$file'>".$file."</a>";
      if (
$DELETABLE)
        
$filelist .= " <a href='?del=$upload_dir$file' title='delete'></a>";
      
$filelist .= "<sub><small><small><font color=grey>  ".date("d-m H:i",
filemtime($upload_dir.$file))
                   .
"</font></small></small></sub>";
      
$filelist .="<br>";
   }
}

function 
do_upload($upload_dir$upload_url) {

    
$temp_name $_FILES['userfile']['tmp_name'];
    
$file_name $_FILES['userfile']['name']; 
  
$file_name str_replace("\\","",$file_name);
  
$file_name str_replace("'","",$file_name);
    
$file_path $upload_dir.$file_name;

    
//File Name Check
  
if ( $file_name =="") { 
      
$message "Invalid File Name Specified";
      return 
$message;
  }

  
$result  =  move_uploaded_file($temp_name$file_path);
  if (!
chmod($file_path,0777))
       
$message "Filen kan ikke uploades";
  else
    
$message = ($result)?"$file_name er uploaded" :
               
"fejl under upload";
  return 
$message;
}

?>


Dato : 06.09.2005, 19:06

Kommentar af : Toke  

 

hov.. ved ikke hvorfor den røg ud 2 gange..

men hvis det er den bare timer ud, hvad kan det så være? 


Dato : 06.09.2005, 19:14

Kommentar af : Toke  

 

hov.. ved ikke hvorfor den røg ud 2 gange..

men hvis det er den bare timer ud, hvad kan det så være? 


Dato : 06.09.2005, 19:21

Kommentar af : Toke  

 

det her er den besked jeg får: change permission to 777 failed.

Dato : 06.09.2005, 19:43

Kommentar af : Toke  

 

hvilke type webhotel har du? er det FreeBSD, windows eller Linux?

Dato : 06.09.2005, 21:01

Kommentar af : Thor B.N.  

 

det er i øjeblikekt B-one.. jeg er ikke sikker på hvad de køre .. men frem over vil det
være windows.


Dato : 06.09.2005, 22:44

Kommentar af : Toke  

 

Windows skal du holde dig fra, det stinker. det er slow og en del fede apdache funktion
fjernes hvis man brues windows


Dato : 10.09.2005, 17:14

Kommentar af : Thor B.N.  

 

ellers fundet fejlen?

Dato : 10.09.2005, 17:15

Kommentar af : Thor B.N.  

 

Jeg fandt fejlen.. det er desværre en ret normalt med danske server, da få har sat sig ind
i hvordan man styre en server, så de nægter at ændre deres php.ini så deres
upload_max_filesize overstiger de obligatoriske 2 mb. så jeg må bruge perl da man slipper
uden om grænsen.. jeg har fundet en host der er rigmelig flexible men vil dog kun gå med
til 10mb upload i php, så jeg valgte en anden vej. 

- Aircondition
- Aflåste serverrum
- UPS
- Telia Backbone
- Cisco Gigabit Netværk

Serverspecifikationer:
- HP servere
- Dual Intel Xeon
- 4GB Ram
- Redundante SCSI HD (Raid 10)
- Redundante PSU
- Redundante Intel Gigabit netkort
- Døgnovervåget 24/7/365

Software:
- Microsoft Windows Server 2003
- IIS 6
- MySQL
- PHP
- Perl
- ASP
- Mailenable PRO

jeg håber det er ok.. jeg slipper for ubegrænset forbrug!! Hvilket er vildt fedt eftersom
jeg nu ved hvad jeg køber, til billige penge.. hvis det ikke rykker som jeg regner med
finder jeg bare noget andet.

Hvis du skulle give et bud på en host? hvilken skulle det så være .. jeg skal bruge 
min. 200GB trafik 4000 mb plads = max 200/måned
 


Dato : 11.09.2005, 21:02

Kommentar af : Toke  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund