Problem : File upload und PHP Datei hochladen

Xching

Erfahrenes Mitglied
Ich habe ein Problem,Ich könnte PHP Datei(import.php) nicht hochladen,wenn ich den Knopf(hochladen) drücken.Bitte helfen Sie mir:(

Hochladen.php
HTML:
<form method="post" action="Hochladen.php?upload=1" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
Datei zum Hochladen<br>
<input type="file" name="datei">
<br>
<input type="submit" value="hochladen">
PHP:
if ($_REQUEST['upload']==1) {
  $fname=$_FILES['datei']['tmp_name'];
  if ($_FILES['datei']['error']==0) {
    include 'import.php';
  }
}

Das ist import.php
Ergebnis von Import.php sollte angezeigt,wenn man auf hochladenknopf drücken

PHP:
<pre><?php
$test=1;
include_once ("./db/const.php");
$class_dd_login=1;
$GL['no_login']=1;
include_once ("./db/db.php");


$dbid=my_connect($db_host,$db_name,$db_user,$db_passwd);

include_once("Classes/PHPExcel.php");


include("fields.inc.php");
include_once("functions.inc.php");

$xlsFile='Agt_Daten_2009.xls';

if ($test==1)
  $xlsFile='test.xls';


$xlsFile=$fname();

$tabelle='tltaq_tuiagenturen';


$feldZuordnung=array();

$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load($xlsFile);
$objWorksheet = $objPHPExcel->getActiveSheet();


$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 

$row=1;

for ($col=0 ; $col <= $highestColumnIndex; $col++) {
  $val=$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();

  $feld=$felder[$val]; 

  if ($feld<>'') {
    $feldZuordnung[$col]=$feld;
  }
 }
 
if ($test==1)
 $highestRow=19;
print_r($feldZuordnung);

for ($row = 2; $row <= $highestRow; ++$row) {
  
  $data=array(); 

  for ($col=0 ; $col <= $highestColumnIndex; $col++) {
    
    if ($feldZuordnung[$col]<>'') {
      $data[$feldZuordnung[$col]]=$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();

    }    
  }
   //checkAgentur($dbid,$data['quell_agt_nr']);
  ///echo $knr;
  
  //$knr=0;
  if ($knr>0) 
  {
    $value;
    $fieldname;
    $sqladd='';
    foreach ($data as $fieldname => $value ) {
      $sqladd.=sprintf("%s %s='%s'",$sqladd==''?'':',',$fieldname,$value);
    }
    $sql=sprintf("UPDATE %s SET %s WHERE kennummer=%d ",$tabelle,$sqladd,$knr);
     echo $sql."\n";
    $oid=mysql_query($sql,$dbid);
    my_error($dbid,$sql);
  } else
    {
   $value;
   $sql='';
   $fname='';
    foreach ($data as $fieldname => $value ) {
    $sql.=sprintf("%s '%s'" ,$sql==''?'':',',$value);
      $fname.=sprintf("%s %s" ,$fname==''?'':',',$fieldname);
    }
    $sql=sprintf("INSERT INTO tltaq_tuiagenturen (%s) VALUES (%s) ",$fname,$sql,$value);
    echo $sql."\n";
  } 
 
  }
  
  
 ?>
 
Zuletzt bearbeitet:
Hallo Xching,
könntest du uns Mitteilen was du genau vor hast?
Wie sieht deine import.php aus?
Erscheinen fehler?

Leider zu wenig Informationen um richtig zu Helfen.
Mfg Splater
 
Deine "Hochladen.php" ist Ok, muss also etwas in deiner Import.php sein.
Hast du beim Hochladen auch eine Datei gewählt in deiner Maske?
Mfg Splater
 
Guter Morgen

Das ist die Fehler,die aufgetreten sind

Fatal error: Call to undefined function /tmp/phpcLlDd9() in /home/www/tltakquise/www/import.php on line 23

Call Stack:
0.0001 638256 1. {main}() /home/www/tltakquise/www/Hochladen.php:0
0.0008 677912 2. include('/home/www/tltakquise/www/import.php') /home/www/tltakquise/www/Hochladen.php:15
 
1) Fehlermeldung lesen, ggf ins deutsch übersetzen was man nicht versteht
2) Auf die angegeben Zeile gehen und mal schauen was dort steht


Zeile 23:
$xlsFile=$fname();

Der Inhalt von $fname ist also '/tmp/phpcLlDd9'

Du versuchst dort eine Funktion mit dem naemn des Inhaltes von $function aufzurufen.
Ich hab aber keine Ahnung was du in dieser Zeile wirklich machen willst.
 
Zurück