---
title: "PHP stul - vill inte funka - vad är felet ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/74628-php-stul-vill-inte-funka-vad-är-felet"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Lindström"
published: "2003-04-21T14:03:22.000Z"
updated: "2003-04-21T17:34:39.000Z"
replies: 8
views: 671
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/74628-php-stul-vill-inte-funka-vad-är-felet"
---

# PHP stul - vill inte funka - vad är felet ?

## #1 — Lindström, 2003-04-21T14:03Z

Är inte så haj...eller om jag ska vara ärlig så det jag kan inom PHP o ASP är väl "klippa o klistra", typ.

Men saken är den att jag har försökt att lägga upp ett PHP script som ska ge mig den föremånen att besökare ska kunna lägga upp bildobjekt på en websida.

Men saken är den att jag får upp följande fel:
............................................

**CGI-fel
CGI-tillämpningen returnerade inte korrekta HTTP-huvuden. Huvudena var:**

............................................

Så vad kan felet ligga ? Själva scriptet är i två delar. 

\- upload.php
\- config.php

Upload scriptet ser ut som följer:

**\<?
//Advanced Uploader V1.00b
//Copyright 2002 ZachWhite.com
//By using this program you agree with the license provide with it.
//Script by Zach White <http://www.zachwhite.com> <zachwhite@zachwhite.com>

$absolute_path = "lindstrom/"; //Absolute path to where files are uploaded
$size_limit = "yes"; //do you want a size limit yes or no.
$limit_size = "50000"; //How big do you want size limit to be in bytes
$limit_ext = "yes"; //do you want to limit the extensions of files uploaded
$ext_count = "4"; //total number of extensions in array below
$extensions = array(".gif", ".jpg", ".doc", ".png"); //List extensions you want files uploaded to be
?
\>**

Har det något med; 

**$absolute_path = "lindstrom/"; //Absolute path to where files are uploaded**

att göra ? Att jag har klottrar in fel path , eller ??

Domän adressen som sidan ska ligga på , tillsvidare, är:
<http://gardell.homeip.net/lindstrom/>

Så är det någon som har tid och den vänliga själen att kunna hjälpa mig ?

Problem sida:
<http://gardell.homeip.net/lindstrom/upload.php>

Permalänk: https://www.webforum.nu/p/74628

## #2 — Matte, 2003-04-21T15:13Z

Nu vet jag inte hur din kod ser ut, men en absolutsökväg utgår vanligtvis från diskroten (möjligtvis från webroten).

Sedan behöver du en katalog att ladda upp dina filer i. Denna katalog måste ha skrivrättigheter. 
Du kan t.ex skapa katalogen upload under lindstrom.

Då skulle det kunna se ut så här:

```
$absolute_path = $_SERVER['DOCUMENT_ROOT']."/lindstrom/upload/"; //Absolute path to where files are uploaded
```

Permalänk: https://www.webforum.nu/p/1018480

## #3 — Lindström, 2003-04-21T15:29Z

> **Matte skrev:**
>
> Nu vet jag inte hur din kod ser ut, men en absolutsökväg utgår vanligtvis från diskroten (möjligtvis från webroten).
> 
> Sedan behöver du en katalog att ladda upp dina filer i. Denna katalog måste ha skrivrättigheter. 
> Du kan t.ex skapa katalogen upload under lindstrom.
> 
> Då skulle det kunna se ut så här:
>
>
> ```
> $absolute_path = $_SERVER['DOCUMENT_ROOT']."/lindstrom/upload/"; //Absolute path to where files are uploaded
> ```

Får då upp:
**Notice: Undefined index: DOCUMENT_ROOT in C:\\UserLib\\lindstrom\\config.php on line 7** 

Jag bifogar hela koden:

\<?
//Advanced Uploader V1.00b
//Copyright 2002 ZachWhite.com
//By using this program you agree with the license provide with it.
//Script by Zach White <http://www.zachwhite.com> <zachwhite@zachwhite.com>
if(!isset($upload)) {
$upload = "";
}
switch($upload) {
default:
include "config.php";
echo "
\<html\>

\<head\>
\<title\>Upload\</title\>
\</head\>

\<body topmargin=\\"10\\" leftmargin=\\"0\\" bgcolor=\\"#18576F\\" link=\\"#818EA0\\" vlink=\\"#5C697A\\" alink=\\"#818EA0\\" text=\\"#FFFFFF\\" style=\\"font-family: Verdana; font-size: 8pt; color: #FFFFFF\\"\>

\<div align=\\"center\\"\>
  \<center\>
  \<table border=\\"0\\" cellpadding=\\"0\\" cellspacing=\\"0\\" style=\\"border-collapse: collapse\\" bordercolor=\\"#111111\\" width=\\"400\\" id=\\"AutoNumber1\\"\>
    \<tr\>
      \<td bgcolor=\\"#5E6A7B\\" height=\\"25\\"\>
      \<p align=\\"center\\"\>\<font size=\\"2\\"\>\<b\>Upload File\</b\>\</font\>\</td\>
    \</tr\>
    \<tr\>
      \<td bgcolor=\\"#818EA0\\"\>\<font size=\\"2\\"\>The following restrictions apply:\</font\>\<ul type=\\"square\\"\>
        \<li\>\<font size=\\"2\\"\>File extension must be \<b\>";
        if (($extensions == "") or ($extensions == " ") or ($ext_count == "0") or ($ext_count == "") or ($limit_ext != "yes") or ($limit_ext == "")) {
           echo "any extension";
        } else {
        $ext_count2 = $ext_count+1;
        for($counter=0; $counter\<$ext_count; $counter++) {
            echo "&nbsp; $extensions\[$counter\]";
        }
        }
        if (($limit_size == "") or ($size_limit != "yes")) {
            $limit_size = "any size";
        } else {
            $limit_size .= " bytes";
        }
        echo"\</b\>\</font\>\</li\>
        \<li\>\<font size=\\"2\\"\>Maximum file size is $limit_size\</font\>\</li\>
        \<li\>\<font size=\\"2\\"\>No spaces in the filename\</font\>\</li\>
        \<li\>\<font size=\\"2\\"\>Filename cannot contain illegal characters 
        (/,\*,\\,etc)\</font\>\<BR\>
        \</li\>
      \</ul\>
      \<form method=\\"POST\\" action=\\"index.php?upload=doupload\\" enctype=\\"multipart/form-data\\"\>
\<p align=\\"center\\"\>
\<input type=file name=file size=30 style=\\"font-family: v; font-size: 10pt; color: #5E6A7B; border: 1px solid #5E6A7B; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1\\"\>\<br\>
\<br\>
\<button name=\\"submit\\" type=\\"submit\\" style=\\"font-family: v; font-size: 10pt; color: #5E6A7B; border: 1px solid #5E6A7B; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1\\"\>Upload\</button\>
\</p\>
\</form\>
      \<p\>
\</td\>
    \</tr\>
    \<tr\>
      \<td bgcolor=\\"#5E6A7B\\" height=\\"25\\"\>
      \<p align=\\"center\\"\>\<font size=\\"1\\"\>
      \<a href=\\"http://www.zachwhite.com/index.php\\"\>\<font color=\\"#FFFFFF\\"\>
      ZachWhite.com File Uploader\</font\>\</a\>\</font\>\<br\>
      \<font size=\\"1\\"\>Template By \<a href=\\"http://www.peekj.ca\\"\>
      \<font color=\\"#FFFFFF\\"\>Jan Ole Peek\</font\>\</a\>\</font\>\</td\>
    \</tr\>
  \</table\>
  \</center\>
\</div\>

\</body\>

\</html\>";
break;
case "doupload":
include "config.php";
$endresult = "\<font size=\\"2\\"\>File Was Uploaded\</font\>";
if ($file_name == "") {
$endresult = "\<font size=\\"2\\"\>No file selected\</font\>";
}else{
if(file_exists("$absolute_path/$file_name")) {
$endresult = "\<font size=\\"2\\"\>File Already Existed\</font\>";
} else {
if (($size_limit == "yes") && ($limit_size \< $file_size)) {
$endresult = "\<font size=\\"2\\"\>File was to big\</font\>";
} else {
$ext = strrchr($file_name,'.');
if (($limit_ext == "yes") && (!in_array($ext,$extensions))) {
$endresult = "\<font size=\\"2\\"\>File is wrong type\</font\>";
}else{
@copy($file, "$absolute_path/$file_name") or $endresult = "\<font size=\\"2\\"\>Couldn't Copy File To Server\</font\>";
}
}
}
}
echo "
\<html\>

\<head\>
\<title\>Upload\</title\>
\</head\>

\<body topmargin=\\"10\\" leftmargin=\\"0\\" bgcolor=\\"#18576F\\" link=\\"#818EA0\\" vlink=\\"#5C697A\\" alink=\\"#818EA0\\" text=\\"#FFFFFF\\" style=\\"font-family: Verdana; font-size: 8pt; color: #FFFFFF\\"\>

\<div align=\\"center\\"\>
  \<center\>
  \<table border=\\"0\\" cellpadding=\\"0\\" cellspacing=\\"0\\" style=\\"border-collapse: collapse\\" bordercolor=\\"#111111\\" width=\\"400\\" id=\\"AutoNumber1\\"\>
    \<tr\>
      \<td bgcolor=\\"#5E6A7B\\" height=\\"25\\"\>
      \<p align=\\"center\\"\>\<font size=\\"2\\"\>\<b\>Upload File\</b\>\</font\>\</td\>
    \</tr\>
    \<tr\>
      \<td bgcolor=\\"#818EA0\\"\>
      \<center\> $endresult \</center\>
	\</td\>
    \</tr\>
    \<tr\>
      \<td bgcolor=\\"#5E6A7B\\" height=\\"25\\"\>
      \<p align=\\"center\\"\>\<font size=\\"1\\"\>
      \<a href=\\"http://www.zachwhite.com/index.php\\"\>\<font color=\\"#FFFFFF\\"\>
      ZachWhite.com File Uploader\</font\>\</a\>\</font\>\<br\>
      \<font size=\\"1\\"\>Template By \<a href=\\"http://www.peekj.ca\\"\>
      \<font color=\\"#FFFFFF\\"\>Jan Ole Peek\</font\>\</a\>\</font\>\</td\>
    \</tr\>
  \</table\>
  \</center\>
\</div\>

\</body\>

\</html\>";
break;
}
?\>

Permalänk: https://www.webforum.nu/p/1018491

## #4 — Matte, 2003-04-21T15:42Z

Vilken PHP-version kör du ?
Vilken inställning har du för register_globals ?

Om du inte vet det kan du skapa en fil med följande innehåll:

```
<?php phpinfo(); ?>
```

 
Där står PHP-version. Där kan du också leta upp register_globals.
Se även om du kan hitta DOCUMENT_ROOT.

Eftersom du inte hittar $\_SERVER\['DOCUMENT_ROOT'\] i ditt skript, testa

```php
$absolute_path = $DOCUMENT_ROOT."/lindstrom/upload";
//eller
$absolute_path = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/lindstrom/upload";
```

Permalänk: https://www.webforum.nu/p/1018499

## #5 — Lindström, 2003-04-21T16:24Z

> **Matte skrev:**
>
> Vilken PHP-version kör du ?
> Vilken inställning har du för register_globals ?
> 
> Om du inte vet det kan du skapa en fil med följande innehåll:
>
>
> ```
> <?php phpinfo(); ?>
> ```
>
>  
> Där står PHP-version. Där kan du också leta upp register_globals.
> Se även om du kan hitta DOCUMENT_ROOT.
> 
> 
> Eftersom du inte hittar $\_SERVER\['DOCUMENT_ROOT'\] i ditt skript, testa
>
>
> ```php
> $absolute_path = $DOCUMENT_ROOT."/lindstrom/upload";
> //eller
> $absolute_path = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/lindstrom/upload";
> ```

\-\> [Akuell version på servern mm.](http://gardell.homeip.net/lindstrom/time.php)

Permalänk: https://www.webforum.nu/p/1018524

## #6 — Matte, 2003-04-21T16:35Z

Du har med andra ord ingen DOCUMENT_ROOT.

Har läst lite och tror att det här skulle funka (sen kan det finnas andra saker):

```
$absolute_path = "/UserLib/lindstrom/upload";
```

Permalänk: https://www.webforum.nu/p/1018535

## #7 — Lindström, 2003-04-21T16:43Z

> **Matte skrev:**
>
> Du har med andra ord ingen DOCUMENT_ROOT.
> 
> Har läst lite och tror att det här skulle funka (sen kan det finnas andra saker):
>
>
> ```
> $absolute_path = "/UserLib/lindstrom/upload";
> ```

Nu får jag inga fel mess på själva "upload" sidan. Men när jag nu har letet upp en bild som jag vill lägga upp. Så får jag messet:

..................................
CGI-fel
CGI-tillämpningen returnerade inte korrekta HTTP-huvuden. Huvudena var:
..................................

\-\> <http://gardell.homeip.net/lindstrom/index.php?upload=doupload>

Så nu är jag tillbaka där jag började, så att säga.

Permalänk: https://www.webforum.nu/p/1018543

## #8 — Matte, 2003-04-21T16:59Z

Det är väldigt svårt att följa din kod när du inte använt kod-taggarna, men vad jag kommit fram till är att skriptet kräver register_globals=On och du har Off.

Testa med att göra följande ändringar.

Ändra

```
if(!isset($upload)) { 
$upload = ""; 
}
```

 
till

```
if(!isset($_GET['upload'])) { 
    $upload = ""; 
} else {
    $upload = $_GET['upload'];
}
```

 

Ändra

```
case "doupload": 
include "config.php"; 
$endresult = "<font size=\"2\">File Was Uploaded</font>"; 
if ($file_name == "") { 
$endresult = "<font size=\"2\">No file selected</font>"; 
}else{ 
if(file_exists("$absolute_path/$file_name")) { 
$endresult = "<font size=\"2\">File Already Existed</font>"; 
} else { 
if (($size_limit == "yes") && ($limit_size < $file_size)) { 
$endresult = "<font size=\"2\">File was to big</font>"; 
} else { 
$ext = strrchr($file_name,'.'); 
if (($limit_ext == "yes") && (!in_array($ext,$extensions))) { 
$endresult = "<font size=\"2\">File is wrong type</font>"; 
}else{ 
@copy($file, "$absolute_path/$file_name") or $endresult = "<font size=\"2\">Couldn't Copy File To Server</font>"; 
}
```

 
till

```
case "doupload": 
include "config.php"; 
$endresult = "<font size=\"2\">File Was Uploaded</font>"; 
if ($file_name == "") { 
$endresult = "<font size=\"2\">No file selected</font>"; 
}else{ 
if(file_exists("$absolute_path/".$_FILES['file']['name'])) { 
$endresult = "<font size=\"2\">File Already Existed</font>"; 
} else { 
if (($size_limit == "yes") && ($limit_size < $_FILES['file']['size'])) { 
$endresult = "<font size=\"2\">File was to big</font>"; 
} else { 
$ext = strrchr($_FILES['file']['name'],'.'); 
if (($limit_ext == "yes") && (!in_array($ext,$extensions))) { 
$endresult = "<font size=\"2\">File is wrong type</font>"; 
}else{ 
@copy($_FILES['file']['tmp_name'], "$absolute_path/".$_FILES['file']['name']) or $endresult = "<font size=\"2\">Couldn't Copy File To Server</font>"; 
}
```

Permalänk: https://www.webforum.nu/p/1018554

## #9 — Lindström, 2003-04-21T17:34Z

Nää... jag får samma fel iallfall, så nu ger jag fan i det här.

Men tack för att du tog dig tid.

Permalänk: https://www.webforum.nu/p/1018570

---

Tråden på webben: https://www.webforum.nu/amne/php/74628-php-stul-vill-inte-funka-vad-är-felet
