2016-08-25 2 views
-1

Bitte ich brauche Ihre Hilfe zu diesem Thema. Jedes Mal, wenn ich diese Datei über ftp auf den Remote-Server übertrage, wird sie auf dem Server oft irgendwie fehlen. Ich muss es immer wieder hochladen. Kürzlich habe ich nur Fehler wie diese PHP Warning: require(maxUpload.class.php): failed to open stream: No such file or directory. Ich weiß, dass die Fehler aufgrund meiner require() Funktion sind. Gibt es einen Grund, warum diese Datei auf dem Remote-Server verloren geht?So beheben Sie die fehlende Datei auf dem Remote-Server

<?php 
require 'maxUpload.class.php' 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Upload Page</title> 
</head> 
<body> 
<?php 
    $myUpload = new maxUpload(); 
    //$myUpload->setUploadLocation(getcwd().DIRECTORY_SEPARATOR); 
    $myUpload->uploadFile(); 
?> 
</body> 

Dies ist maxUpload.class.php

<?php 
class maxUpload{ 
    var $uploadLocation; 
    function maxUpload(){ 
     $this->uploadLocation = getcwd().DIRECTORY_SEPARATOR."/images". DIRECTORY_SEPARATOR; 
    } 
    function setUploadLocation($dir){ 
     $this->uploadLocation = $dir; 
    } 

    function showUploadForm($msg='',$error=''){ 
?> 
     <div id="container"> 

      <div id="content"> 
<?php 
if ($msg != ''){ 
    echo '<p class="msg">'.$msg.'</p>'; 
} else if ($error != ''){ 
    echo '<p class="emsg">'.$error.'</p>'; 

} 
?> 
       <form action="" method="post" enctype="multipart/form-data" > 
        <center> 
         <label>Upload Image (Jpeg Only) 
          <input name="myfile" type="file" size="30" /> 
         </label> 
         <label> 
          <input type="submit" name="submitBtn" class="sbtn" value="Upload" /> 
         </label> 
        </center> 
       </form> 
      </div> 
     </div> 
<?php 
    } 

    function uploadFile(){ 
     if (!isset($_POST['submitBtn'])){ 
      $this->showUploadForm(); 
     } else { 
      $msg = ''; 
      $error = ''; 
      if (!file_exists($this->uploadLocation)){ 
       $error = "The target directory doesn't exists!"; 
      } else if (!is_writeable($this->uploadLocation)) { 
       $error = "The target directory is not writeable!"; 
      } else { 
       $target_path = $this->uploadLocation . basename($_FILES['myfile']['name']); 

       if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) { 
        $msg = basename($_FILES['myfile']['name']). 
        " <b style='color:white;'>was uploaded successfully!</b>"; 
       } else{ 
        $error = "The upload process failed!"; 
       } 
      } 

      $this->showUploadForm($msg,$error); 
     } 

    } 

} 
?> 
+0

Mögliche Duplikat [Fehler beim Öffnen stream: Keine solche Datei oder Verzeichnis] ​​(http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory) –

Antwort

0

Ihre Datei fehlt nicht, diese Fehler auch anzeigen, dass Sie falsch Pfad zur Datei geben, stellen Sie sicher, maxUpload.class.php in demselben Ordner ist. Sie müssen dem Pfad require() den richtigen Pfad angeben, wo Sie diese Datei finden können.

Sie können auch getcwd()-Gets the current working directory.

so etwas wie echo getcwd(); verwenden. Sie können chdir() Funktion gehen zu bestimmten Ordner verwenden, indem richtigen Pfad geben chdir("../");

ich weiß nicht, Ihre Ordner-Struktur, sondern fügen

require '../maxUpload.class.php' oder

require '/maxUpload.class.php'

+0

Danke Archish. Sowohl maxUpload.class.php als auch upload.php innerhalb von require() befinden sich im selben Ordner wie admin. Es funktionierte zunächst, bis ich das in letzter Zeit selbst mit der Anforderung '../maxUpload.class.php' erlebte. – Yomi

Verwandte Themen